SQL 将字符串 NULL 替换为 NULL 值
SQL Replace String NULL with a NULL Value
我有一个数据库 table,它有一个字面意思为“NULL”的字符串值,它不是实际的 NULL
值,它实际上是一个字面意思为“NULL”的字符串(没有“ ).
我想将此字符串值“NULL”替换为实际的 null
值。
这是我尝试使用的,但它用 NULL
值替换了整个列,即使字符串值不是“NULL”也是如此。
replace([col_1],'NULL',NULL) as [col_1]
有什么建议吗?
想出了如何做到这一点,我没有使用替换函数,而是使用了 case 语句。
case
when [col_1] = 'NULL' then NULL
else [col_1]
end as [col_1]
NullIf
看起来合适:
select Col, NullIf( Col, 'NULL' ) as NullifiedCol
from ( values ( '' ), ( 'Hello' ), ( 'NULL' ), ( 'Mmm, NULLBerries!' ) ) as Ph( Col );
至于您看到的结果,来自 replace
:“Returns 如果任何一个参数为 NULL,则为 NULL。”
我有一个数据库 table,它有一个字面意思为“NULL”的字符串值,它不是实际的 NULL
值,它实际上是一个字面意思为“NULL”的字符串(没有“ ).
我想将此字符串值“NULL”替换为实际的 null
值。
这是我尝试使用的,但它用 NULL
值替换了整个列,即使字符串值不是“NULL”也是如此。
replace([col_1],'NULL',NULL) as [col_1]
有什么建议吗?
想出了如何做到这一点,我没有使用替换函数,而是使用了 case 语句。
case
when [col_1] = 'NULL' then NULL
else [col_1]
end as [col_1]
NullIf
看起来合适:
select Col, NullIf( Col, 'NULL' ) as NullifiedCol
from ( values ( '' ), ( 'Hello' ), ( 'NULL' ), ( 'Mmm, NULLBerries!' ) ) as Ph( Col );
至于您看到的结果,来自 replace
:“Returns 如果任何一个参数为 NULL,则为 NULL。”