Ral*_*ton 15 t-sql sql-server sql-server-2008
考虑这个非常短的T-SQL代码,它使用案例对可空列进行测试
declare @t table(data varchar(10) null)
insert into @t values('something')
insert into @t values(null)
select data,
case data when null
then 'missing'
else 'not missing'
end as test
from @t
Run Code Online (Sandbox Code Playgroud)
我得到的输出是:
data test
--------- -----------
something not missing
NULL not missing
Run Code Online (Sandbox Code Playgroud)
然而,我所期待的是
data test
--------- -----------
something not missing
NULL missing
Run Code Online (Sandbox Code Playgroud)
关于对这个可空值的测试,我错过了什么
M.R*_*.R. 41
你想要这样的东西:
select data,
case when data is null
then 'missing'
else 'not missing'
end as test from @t