当我在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