Sql 可以使用大小写更改空列的值吗?

Sql 可以使用大小写更改空列的值吗?,sql,tsql,Sql,Tsql,我知道您可以使用COALESCE和ISNULL,但我只是想知道您是否可以使用SELECT case 我有这个 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 F

我知道您可以使用COALESCE和ISNULL,但我只是想知道您是否可以使用SELECT case

我有这个

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
没什么


只是好奇。谢谢

使用
IS
NULL

SELECT CASE WHEN Column IS NULL 
            THEN '1/1/2001' 
            ELSE Column 
       END,
       Column2
FROM Table

使用
IS
NULL

SELECT CASE WHEN Column IS NULL 
            THEN '1/1/2001' 
            ELSE Column 
       END,
       Column2
FROM Table

空值require
关键字,而不是
=
空值require
关键字,而不是
=
时,您当然可以这样使用谓词:

select
 case
    when t.Column1 is null then '1/1/2001'
    else t.Column1
 end
,t.Column2
from Table1 as t

2.

按顺序计算参数,并返回最初未计算为NULL的第一个表达式的当前值

select
 coalesce(t.Column1, '1/1/2001')
,t.Column2
from Table1 as t
选择
联合(t.Column1,'1/1/2001')
,t.Column2
表1中的t
您当然可以这样使用谓词:

select
 case
    when t.Column1 is null then '1/1/2001'
    else t.Column1
 end
,t.Column2
from Table1 as t

2.

按顺序计算参数,并返回最初未计算为NULL的第一个表达式的当前值

select
 coalesce(t.Column1, '1/1/2001')
,t.Column2
from Table1 as t
选择
联合(t.Column1,'1/1/2001')
,t.Column2
表1中的t

你的意思是做一次
更新
?否则,您只是在
NULL
之前缺少
IS
,您的意思是执行
更新
?否则,在
NULL
之前,您只是缺少了
IS
,有时我会想,您可以在案例中使用条件语句,我知道您可以做到!谢谢大家!@苏德:没问题。另外,您的第二个案例不起作用的原因是,与
null
(即:没有
is[not]null
谓词)的直接比较总是错误的()有时我会突然想到,您可以在案例中使用条件语句,我知道您可以做到!谢谢大家!@苏德:没问题。另外,第二个案例不起作用的原因是,与
null
(即:没有
is[not]null
谓词)的直接比较总是错误的()