1、理论
当两个不同数据类型的表达式用运算符组合后,优先级较低的数据类型首先转换为优先级较高的数据类型。 如果此转换不是所支持的隐式转换,则返回错误。 对于组合具有相同数据类型的操作数表达式的运算符时,运算的结果便为该数据类型。
SQL Server 对数据类型使用以下优先级顺序:
用户定义数据类型(最高)
sql_variant
xml
datetimeoffset
datetime2
datetime
smalldatetime
date
time
float
real
decimal
money
smallmoney
bigint
int
smallint
tinyint
bit
ntext
text
图像
timestamp
uniqueidentifier
nvarchar(包括 nvarchar(max))
nchar
varchar(包括 varchar(max))
char
varbinary(包括 varbinary(max))
binary(最低)