在SQL中,如何在不使用CASE语句的情况下,将列的值赋值为null,当满足条件A或条件B时使用嵌套的NULLIF函数
P粉310754094
P粉310754094 2023-08-25 13:26:01
0
2
454

我有一列C1,其值可以是'values'、'empty'或'N/A'。

| C1 | ------- | | | N/A | |apple|

我想以一种方式选择列C1,将空值和N/A转换为NULL,使用NULLIF。

| C1 | ------- |NULL | |NULL | |apple|

我们可以使用NULLIF(C1, ''),如果列值为空,则返回NULL。

我们也可以使用CASE实现这两种情况,但我想知道是否有一种方法可以使用NULLIF来实现,如果有,如何实现?(或者除了CASE之外的其他方法)

类似于NULLIF(C1, '' OR 'N/A')

提前感谢。

P粉310754094
P粉310754094

全部回复 (2)
P粉253800312

使用case表达式:

(case when c1 not in ('', 'N/A') then c1 end)
    P粉925239921

    您可以使用嵌套的NULLIF()函数来实现:

    NULLIF(NULLIF(c1, ''), 'N/A')

    请参见演示

      最新下载
      更多>
      网站特效
      网站源码
      网站素材
      前端模板
      关于我们 免责声明 Sitemap
      PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!