请看一下,让我知道可能的解决方案?
表格中显示的数据:
select a,b,d,e from table xyz.
或
所需数据:
数据看起来像这样
a b c d e
1 2 null 2
1 2 not null 2
根据以上数据,如果c为null,则显示d = b else e = b。
如何为上述条件编写正确的SQL查询,因为我试过它无效。
提前致谢。
答案 0 :(得分:1)
SELECT CASE WHEN c IS NULL THEN d ELSE e END
答案 1 :(得分:1)
SELECT CASE WHEN c IS NULL THEN d ELSE e END
关于显示的位d = b否则e = b让我相信您可能也在尝试比较 NULL 和 NOT NULL 值。
了解SQL NULL 意味着“未知”非常重要,因此无法在已知值和未知值之间进行比较。
在这种情况下,我建议使用Coalesce将NULL更改为可比较的值,而不会影响逻辑。
Coalesce(d, 0) = b