空值处理

时间:2012-07-17 13:48:05

标签: sql database sql-server-2008

我们假设我有一个查询

SELECT val FROM tbl

我想编写在val不为null时输出“ValueIsNotNull”的查询,在val为null时输出“ValueIsNull”。有可能用一行做到这一点。截至目前,我发现只有ISNULL(val,'ValueIsNull') AS val1。但如果value不为null,则打印原始值。

3 个答案:

答案 0 :(得分:9)

select
    case
        when val is null then 'ValueIsNull'
        else 'ValueIsNotNull'
    end
    as NewVal
from tbl

答案 1 :(得分:3)

您需要案例陈述功能:

select (case when val is NULL then 'ValueIsNull' else 'ValueIsNotNull' end)

答案 2 :(得分:3)

SELECT CASE WHEN val IS NULL THEN 'ValueIsNotNull' ELSE 'ValueIsNull' END