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

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric 中的 SQL 分析终结点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. 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)