我试图比较2个值-1是空的而其他是数字,但它在某种程度上等于“相等”
declare @value1 int;
declare @value2 int;
select @value1 = null
select @value2 = 1
if (@value1 <> @value2)
print 'not equal'
else
print 'equal'
结果:等于
答案 0 :(得分:9)
您无法比较NULL
值,=
也不<>
,因为NULL
表示未定义。
如果您想知道值是 IS
,请使用NULL
,您可以使用:
IF ( ( @value1 IS NULL
AND @value2 IS NULL )
OR (( @value1 IS NOT NULL
AND @value2 IS NOT NULL
AND @value1 = @value2 )) )
PRINT 'equal'
ELSE
PRINT 'not equal'
答案 1 :(得分:2)