【问题标题】:SQL Replace String NULL with a NULL ValueSQL 将字符串 NULL 替换为 NULL 值
【发布时间】:2021-04-04 07:03:27
【问题描述】:

我有一个数据库表,它有一个字符串值,字面意思是“NULL”,它不是实际的 NULL 值,它实际上是一个字面意思是“NULL”(没有“)的字符串。

我想用实际的null 值替换这个字符串值“NULL”。

这是我尝试使用的,但它用 NULL 值替换了整个列,即使字符串值不是“NULL”。

replace([col_1],'NULL',NULL) as [col_1]

有什么建议吗?

【问题讨论】:

  • 不知道我能做到多清楚。什么不清楚?

标签: tsql ssms


【解决方案1】:

NullIf 看起来很合适:

select Col, NullIf( Col, 'NULL' ) as NullifiedCol
  from ( values ( '' ), ( 'Hello' ), ( 'NULL' ), ( 'Mmm, NULLBerries!' ) ) as Ph( Col );

至于您看到的结果,来自replace:“如果任何一个参数为 NULL,则返回 NULL。”

【讨论】:

    【解决方案2】:

    想出了如何做到这一点,而不是使用替换功能,我使用了一个 case 语句。

    case
         when [col_1] = 'NULL' then NULL
         else [col_1]
         end as [col_1]
    

    【讨论】:

      猜你喜欢
      • 2021-10-30
      • 1970-01-01
      • 2022-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多