Поделиться через


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

Применимо к:SQL ServerБаза данных SQL AzureУправляемый экземпляр SQL AzureAzure Synapse AnalyticsСистема платформы аналитики (PDW)Конечная точка аналитики SQL в Microsoft FabricХранилище в Microsoft FabricБаза данных SQL в предварительной версии Microsoft Fabric

Если оператор сочетает выражения различных типов данных, тип данных с меньшим приоритетом сначала преобразуется в тип данных с большим приоритетом. Если неявное преобразование не поддерживается, возвращается ошибка. Если оператор сочетает выражения операндов с одинаковым типом данных, результат операции будет иметь тот же тип данных.

SQL Server использует следующий порядок приоритета для типов данных:

  1. определяемые пользователем типы данных (высший приоритет);
  2. json
  3. sql_variant
  4. xml
  5. datetimeoffset
  6. datetime2
  7. datetime
  8. smalldatetime
  9. date
  10. time
  11. float
  12. real
  13. decimal
  14. money
  15. smallmoney
  16. bigint
  17. int
  18. smallint
  19. tinyint
  20. bit
  21. ntext
  22. text
  23. image
  24. timestamp
  25. uniqueidentifier
  26. nvarchar, включая nvarchar(max)
  27. nchar
  28. varchar, включая varchar(max)
  29. char
  30. varbinary, включая varbinary(max)
  31. binary (lowest)