當兩個不同數據類型的表達式用運算符組合后,數據類型優先級規則指定將優先級較低的數據類型轉換為優先級較高的數據類型。如果此轉換不是所支持的隱式轉換,則返回錯誤。當兩個操作數表達式具有相同的數據類型時,運算的結果便為該數據類型。
SQL Server 對數據類型使用以下優先級順序:
-
用戶定義數據類型(最高)
-
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(最低)