数据类型优先级 (Transact-SQL)

适用于: SQL Server(所有受支持的版本) Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW)

当两个不同数据类型的表达式用运算符组合后,优先级较低的数据类型首先转换为优先级较高的数据类型。 如果此转换不是所支持的隐式转换,则返回错误。 对于组合具有相同数据类型的操作数表达式的运算符时,运算的结果便为该数据类型。

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. decimal
  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)