gpt4 book ai didi

如果一列为Null,则SQL返回Null(与COALESCE()相反)

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

在此先感谢您的帮助。这是一个很棒的社区,我在这里找到了许多编程答案。

我有一个包含多个列的表,其中5个包含日期或null。

我想编写一个本质上将5列合并为1列的sql查询,条件是如果5列中的1包含“NULL”值,则返回的值为null。本质上与返回第一个非null的合并条件相反,我想返回第一个null。如果没有一个为空,则最好返回5个日期中的最大值,但是我可以选择返回5个日期中的任何一个。

    C1         C2          C3        C4        C5
-- -- -- -- --
1/1/1991 1/1/1991 1/1/1991 1/1/1991 2/2/1992
NULL 1/1/1991 1/1/1991 1/1/1991 1/1/1991

查询返回:
    C1
--
2/2/1992
NULL

非常感谢你。

(服务器是MSSQL2008)

最佳答案

不加思索地:

SELECT
CASE WHEN c1 is null or c2 is null or c3 is null or c4 is null or c5 is null
THEN null
ELSE c1
END
FROM mytable

我的编辑如下:
CASE 
WHEN (c1 >= c2 AND c1 >= c3) THEN c1
WHEN (c2 >= c1 AND c2 >= c3) THEN c2
WHEN (c3 >= c1 AND c3 >= c2) THEN c3
END

关于如果一列为Null,则SQL返回Null(与COALESCE()相反),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4206136/

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