當我在Transact-SQL查詢中聲明SMALLINT類型的變量@Number時,它以字符串的形式輸出,我也可以將該變量與字符串進行比較。例如:T-sql返回smallint作爲字符串
DECLARE @Number SMALLINT
SET @Number = 12
IF (@Number LIKE '12')
SET @Number = 1
SELECT @Number
有沒有人知道這是爲什麼?
當我在Transact-SQL查詢中聲明SMALLINT類型的變量@Number時,它以字符串的形式輸出,我也可以將該變量與字符串進行比較。例如:T-sql返回smallint作爲字符串
DECLARE @Number SMALLINT
SET @Number = 12
IF (@Number LIKE '12')
SET @Number = 1
SELECT @Number
有沒有人知道這是爲什麼?
==
運算符在tsql中不存在。您需要使用一個=
。
DECLARE @Number SMALLINT
SET @Number = 12
IF (@Number = 12)
SET @Number = 1
SELECT @Number
提示:SQL Server可以明確地提供可變的數據類型。嘗試'將@Number聲明爲SmallInt = 12;選擇@Number,sql_variant_property(@Number,'basetype')AS basetype;'。 – HABO