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。”