Приоритет типов данных (Transact-SQL)Data type precedence (Transact-SQL)

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server (начиная с версии 2012) нетБаза данных SQL Azure нетХранилище данных SQL AzureнетParallel Data Warehouse APPLIES TO: yesSQL Server (starting with 2012) noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Если оператор сочетает выражения различных типов данных, тип данных с меньшим приоритетом сначала преобразуется в тип данных с большим приоритетом.When an operator combines expressions of different data types, the data type with the lower precedence is first converted to the data type with the higher precedence. Если неявное преобразование не поддерживается, возвращается ошибка.If the conversion isn't a supported implicit conversion, an error is returned. Если оператор сочетает выражения операндов с одинаковым типом данных, результат операции будет иметь тот же тип данных.For an operator combining operand expressions having the same data type, the result of the operation has that data type.

В SQL ServerSQL Server используется следующий приоритет типов данных:SQL ServerSQL Server uses the following precedence order for data types:

  1. определяемые пользователем типы данных (высший приоритет);user-defined data types (highest)
  2. sql_variantsql_variant
  3. xmlxml
  4. datetimeoffsetdatetimeoffset
  5. datetime2datetime2
  6. datetimedatetime
  7. smalldatetimesmalldatetime
  8. datedate
  9. timetime
  10. floatfloat
  11. realreal
  12. decimaldecimal
  13. moneymoney
  14. smallmoneysmallmoney
  15. bigintbigint
  16. intint
  17. smallintsmallint
  18. tinyinttinyint
  19. bitbit
  20. ntextntext
  21. texttext
  22. imageimage
  23. timestamptimestamp
  24. uniqueidentifieruniqueidentifier
  25. nvarchar (включая nvarchar(max) )nvarchar (including nvarchar(max) )
  26. ncharnchar
  27. varchar (включая varchar(max) )varchar (including varchar(max) )
  28. charchar
  29. varbinary (включая varbinary(max) )varbinary (including varbinary(max) )
  30. binary (низший приоритет)binary (lowest)

См. также разделSee also

Типы данных (Transact-SQL)Data Types (Transact-SQL)
Выражения (Transact-SQL)Expressions (Transact-SQL)
Функции CAST и CONVERT (Transact-SQL)CAST and CONVERT (Transact-SQL)