mssql sqlserver 数据类型优先级说明


摘要:
当使用运算符组合两种不同数据类型的表达式时,
数据类型的优先规则决定将哪种数据类型转换为另一种数据类型。
低优先级数据类型转换为高优先级数据类型。
如果此转换不是受支持的本地转换,则会返回错误。
当两个操作数表达式具有相同的数据类型时,操作的结果就是该数据类型,下文讲述sqlserver中数据类型的优先级,如下所示

sqlserver数据类型优先级:
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.image
23.timestamp
24.uniqueidentifier
25.nvarchar(nvarchar(max) )
26.nchar
27.varchar(varchar(max) )
28.char
29.varbinary (varbinary(max) )
30.binary