我正在向 TIMESTAMPDIFF(HOUR,'29-10-2012','19-11-2012')
提供输入,但我得到的输出为 504
但值应为 510
。
输出为 510
,因为起始值为 29/10/2012 05:13
。
除了这个给出两个日期之间的日、时、分、秒差值的函数之外,还有其他选择吗?
最佳答案
您在 TIMESTAMPDIFF 函数中传递了 DATE 值,一切都是正确的 -
- 10 月的 3 天:2012-10-29、2012-10-30、2012-10-31 = 3 * 24 = 72
- 11 月的 18 天:2012-11-01...2012-11-18 = 18 * 24 = 432
72 + 432 = 504
如果你想计算小时、分钟或秒,那么你应该传递两个DATETIME值——
SELECT TIMESTAMPDIFF(HOUR,'2012-10-29 05:13:00','2012-11-19 00:00:00') hours;
+-------+
| hours |
+-------+
| 498 |
+-------+
关于MYSQL TIMESTAMPDIFF() 给出了错误的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13120993/