gpt4 book ai didi

sql - select 语句列中的条件空值不为空值 - SQL Server

转载 作者:行者123 更新时间:2023-12-04 04:47:30 26 4
gpt4 key购买 nike

请看看这个,让我知道可能的解决方案?

表中要显示的数据:

select a,b,d,e from table xyz.
  • 当 c 为空时,显示 d 的值


  • 当 c 不为空时,显示 e 的值

  • 所需资料:

    数据看起来像这样
    a b  c          d e 
    1 2 null 2
    1 2 not null 2

    从上面的数据来看,如果c为空,则显示d=b,否则e=b。

    如何为上述条件编写适当的 SQL 查询,因为我尝试过它不起作用的情况。

    提前致谢。

    最佳答案

    SELECT CASE WHEN c IS NULL THEN d ELSE e END

    关于显示 d = b else e = b 的一点让我相信您可能也在尝试比较 非空 值。

    重要的是要了解 SQL 表示“未知”,因此无法在已知值和未知值之间进行比较。

    在这种情况下,我建议使用 Coalesce将值为 NULL 时的值更改为不会影响您的逻辑的可比较值。
    Coalesce(d, 0) = b

    关于sql - select 语句列中的条件空值不为空值 - SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17957858/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com