我知道你可以使用COALESCE和ISNULL,但我很想知道你是否可以用SELECT案例来做。
我有这个
SELECT (CASE Table.Column WHEN ' ' THEN '1/1/2001' Else Table.Column End),Column2
FROM Table
这没有做任何事情所以我试过了:
SELECT (CASE Table.Column WHEN NULL THEN '1/1/2001' Else Table.Column End),Column2
FROM Table
没有
好奇。谢谢!
答案 0 :(得分:2)
您当然可以使用is [not] null
谓词:
select
case
when t.Column1 is null then '1/1/2001'
else t.Column1
end
,t.Column2
from Table1 as t
但是,有一些专门用于处理null
的功能:
1。
isnull(check_expression , replacement_value)
用指定的替换值替换NULL。
select isnull(t.Column1, '1/1/2001') ,t.Column2 from Table1 as t
<小时/> 2。
coalesce(expression [ ,...n ])
按顺序计算参数,并返回最初未计算为NULL的第一个表达式的当前值。
select coalesce(t.Column1, '1/1/2001') ,t.Column2 from Table1 as t
答案 1 :(得分:1)
将IS
与NULL
SELECT CASE WHEN Column IS NULL
THEN '1/1/2001'
ELSE Column
END,
Column2
FROM Table
答案 2 :(得分:1)
nulls需要IS
个关键字,而不是WHEN
或=