sql-server - null 未按预期工作的情况

标签 sql-server tsql 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

我得到的输出是:

data        test
---------   -----------
something   not missing
NULL        not missing

然而我所期待的是

data        test
---------   -----------
something   not missing
NULL        missing

关于这个可为空值的测试,我缺少什么

最佳答案

你想放这样的东西:


select data,      
case when data is null         
then 'missing'         
else 'not missing'     
end as test from @t 

关于sql-server - null 未按预期工作的情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6928681/

相关文章:

asp.net - 对于 ASP.NET 应用程序,什么是 SQL Server 的良好替代品?

sql - 解析查询时出错。 [ token 行号 = 1, token 行偏移 = 13,错误 token = 交易 ]

sql - MSSQL 2008 中的行合并,

sql-server - 数据库项目在部署之前删除数据库?

sql - JOIN on row by 连接查询中的行具有所有行的 MAX/MIN 值

sql - 为数据库创建同义词/更改数据库 View 指向

sql - STRING_SPLIT 到多个变量

SQL Server : coalesce, 阻止额外空间?

sql - 如何在 SELECT INTO 中控制基于文字的列的可空性

sql-server-2008 - 无法在 SQL Server Management Studio 中设置主键