Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Неявни преобразувания и закръгляния

Това ме накара да прочета и отговорът изглежда явно незадоволителен, Най-ранната справка за SQL, която успях да намеря (ANSI 92 наличен тук ) в раздел 4.4.1 Характеристики на числа заявява, че

Което оставя на Microsoft кой от двата са избрали да внедрят за T-SQL и предполагам, че за по-голяма простота са избрали съкращаване. От статията в wikipedia относно закръгляването изглежда, че това не е било необичайно решение навремето.

Интересно е да се отбележи, че според документацията, която намерих, само преобразуванията в цели числа причиняват отрязване, останалите причиняват закръгляване. Въпреки че по някаква странна причина преобразуването от money към integer изглежда, че противодейства на тенденцията, тъй като е позволено да се закръгля.

From     To       Behaviour

numeric  numeric  Round

numeric  int      Truncate

numeric  money    Round

money    int      Round

money    numeric  Round

float    int      Truncate

float    numeric  Round

float    datetime Round

datetime int      Round

Таблица от тук .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използвате ли правилните инструменти за наблюдение на производителността на базата данни?

  2. Единична или множество бази данни

  3. Как да преименувате име на таблица в SQL Server

  4. Импортиране на Excel в SQL база данни с помощта на vb.net и asp.net

  5. Използване на BINARY_CHECKSUM(*) с множество таблици