MYSQL TIMEDIFF函数不能用于长日期

Gow*_*wri 7 mysql datetime

Mysql Timediff函数对我来说不适合长日期.实际上我需要得到date_time字段到now()之间的时差

所以我使用了这个查询

SELECT `date_time`,now(),timediff(`date_time`,now()) FROM `table_datetime`
Run Code Online (Sandbox Code Playgroud)

我有两排

date_time 2011-04-25 17:22:41 2011-06-14 17:22:52

我的结果是 在此输入图像描述

这里的第一行结果正在改变但不是第二行的结果总是返回

838:59:59
Run Code Online (Sandbox Code Playgroud)

不断...为什么它没有给出正确的结果

感谢帮助 !

diE*_*cho 10

而不是TIMEDIFF使用DATEDIFFEXTRACT

SELECT DATEDIFF('2011-06-14 17:22:52', NOW()) * 24
+ EXTRACT(HOUR FROM '2011-06-14 17:22:52')
- EXTRACT(HOUR FROM NOW())
Run Code Online (Sandbox Code Playgroud)

感谢@rekaszeru提供有用的链接

替代解决方案(以秒为单位获得差异)

SELECT TIMESTAMPDIFF(SECOND,NOW(),'2011-06-14 17:22:52');
Run Code Online (Sandbox Code Playgroud)

参考

提取

TIMESTAMPDIFF