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

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

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

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

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

См. также

Типы данных (Transact-SQL)
Выражения (Transact-SQL)
CAST и CONVERT (Transact-SQL)