mysql DATEDIFF with NULL value



我必须比较两个单独的列。我使用DATEDIFF(date1,date2(来比较它们,然而,在一些记录中,日期为Null,这会返回Null结果并混淆CASE。

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

id | D1        | D2
1  | 2020-11-25| 2020-11-26
2  | Null      | Null
3  | 2020-11-22| 2020-11-28

我需要结果:

T1:2,空,7

但现在我得到的结果是:

T1:2,7

我的代码:

SELECT GROUP_CONCAT( (DATEDIFF(D2, D1)+1) SEPARATOR ',') as T1 FROM `Apr`
SELECT GROUP_CONCAT( CASE WHEN d1 IS NULL OR d2 IS NULL
THEN 'NULL'
ELSE DATEDIFF(D2, D1)+1
END 
SEPARATOR ',') as T1 
FROM `Apr`

小提琴

最新更新