當(dāng)兩個不同數(shù)據(jù)類型的表達式用運算符組合后,數(shù)據(jù)類型優(yōu)先級規(guī)則指定將優(yōu)先級較低的數(shù)據(jù)類型轉(zhuǎn)換為優(yōu)先級較高的數(shù)據(jù)類型。如果此轉(zhuǎn)換不是所支持的隱式轉(zhuǎn)換,則返回錯誤。當(dāng)兩個操作數(shù)表達式具有相同的數(shù)據(jù)類型時,運算的結(jié)果便為該數(shù)據(jù)類型。
SQL Server 對數(shù)據(jù)類型使用以下優(yōu)先級順序:
-
用戶定義數(shù)據(jù)類型(最高)
-
sql_variant
-
xml
-
datetimeoffset
-
datetime2
-
datetime
-
smalldatetime
-
date
-
time
-
float
-
real
-
decimal
-
money
-
smallmoney
-
bigint
-
int
-
smallint
-
tinyint
-
bit
-
ntext
-
text
-
image
-
timestamp
-
uniqueidentifier
-
nvarchar(包括 nvarchar(max))
-
nchar
-
varchar(包括 varchar(max))
-
char
-
varbinary(包括 varbinary(max))
-
binary(最低)