mysql - 具有 NULL 值的 mysql DATEDIFF
问题描述
我必须比较 2 个单独的列。我正在使用 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`
推荐阅读
- python - 如何根据列表中的某个元素返回字典?
- python - 1234形式的Python csv过滤器数字与3241、4321、2143、4213等相同吗?
- vb.net - 如何为 ListBox 中的项目声明常量?
- php - 如何在angular8中转换ajax post call api
- java - 用不存在的值初始化对象
- android - 使用 MPAndroidChart 库在 Android 中创建折线图
- java - 无法下载 Spring Boot 2.1.7.RELEASE
- node.js - 如何使用节点红色中的节点标识符向下一个节点发送/传递消息?
- shell - 将度数转换为基本方向的 shell 脚本
- c++ - C ++ 11中auto关键字中的编译错误