我已经为你提供了一部分代码,我想知道输出,我需要你的帮助,因为没有任何机构可以帮助我,我认为输出是A,这是正确的吗?感谢。
declare @v1 varchar(20),@v2 varchar(20)
select @v1 = 'NULL'
if @v1 is null and @v2 is null
select 'A'
else
select 'B'
编辑:@ v2的价值是多少?感谢
答案 0 :(得分:5)
你为什么不亲自尝试?
输出将是B
,因为@v1
被分配了一个字符串'NULL',它与特殊的NULL不同,意思是“没有值”
答案 1 :(得分:1)
在MSSQL 2008中,它返回B.这是因为@ v1是字符串'NULL',实际上不是null。如果将其更改为
select @v1 = null
然后它将返回A
答案 2 :(得分:0)
我说这是B,因为= NULL
和= 'NULL'
是两回事。
答案 3 :(得分:0)
@ v2为null,因为您没有为其分配任何值。 输出为B'因为NULL与字符串'NULL'
不同