我必须比较两个单独的列。我使用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`
小提琴