有人可以向我解释这个查询吗?
SELECT OPEN_DATETIME,
DATEDIFF(OPEN_DATETIME, '2016-12-13 23:59:59') AS Aging
FROM batch
WHERE DATEDIFF(OPEN_DATETIME,'2016-12-14 23:59:59')>20;
输出
+------------------------+-------+
| OPEN_DATETIME | Aging |
+------------------------+-------+
| 2017-01-26 16:28:41 | 44 |
| 2017-01-25 16:32:48 | 43 |
| 2017-01-27 02:00:00 | 45 |
+------------------------+-------+
我理解 datediff()
的意思是获取 MySQL 上两个日期之间的差异天数。但我就是不明白为什么在这个查询中需要两个 datediff()
?
最佳答案
我相信这应该在没有双重差异的情况下工作,只需在别名上使用 HAVING。
SELECT OPEN_DATETIME,
DATEDIFF(OPEN_DATETIME, '2016-12-13 23:59:59') AS Aging
FROM batch
HAVING Aging >20;
关于mysql - 在mysql中解释这个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41897750/