gpt4 book ai didi

sql - 如何处理 DATEDIFF 比较中的 NULL?

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

我必须比较两个单独的列才能得出它们之间的最新日期。我使用 DATEDIFF(min, date1, date2) 来比较它们,但是,在某些记录中日期为 Null,这会返回 null 结果并弄乱 CASE。

有没有办法解决这个问题,或者有办法预先确定哪个日期为空?

(伪代码)

UPDATE TABLE
SET NAME = p.name,
NEW_DATE = CASE WHEN DATEDIFF(minute,d.date1,d.date2) <= 0 THEN d.date
ELSE d.date2
END
FROM TABLE2 d
INNER JOIN TABLE3 p
ON d.ACCTNUM = p.ACCTNUM

最佳答案

您可以在 CASE 中添加额外的逻辑:

UPDATE TABLE 
SET NAME = p.name,
NEW_DATE = CASE
WHEN d.date1 IS NULL THEN -- somewhat
WHEN d.date2 IS NULL THEN -- somewhat
WHEN DATEDIFF(minute,d.date1,d.date2) <= 0 THEN d.date
ELSE d.date2
END
FROM TABLE2 d
INNER JOIN TABLE3 p
ON d.ACCTNUM = p.ACCTNUM

关于sql - 如何处理 DATEDIFF 比较中的 NULL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10521987/

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