MYSQL TIMESTAMPDIFF()给出了错误的值

时间:2012-10-29 11:45:09

标签: mysql

我正在向TIMESTAMPDIFF(HOUR,'29-10-2012','19-11-2012')提供输入,但我的输出为504,但值应为510

输出为510,因为起始值为29/10/2012 05:13

这个函数有替代方案,可以给出两个日期之间的日,小时,分钟,秒差异吗?

1 个答案:

答案 0 :(得分:5)

您在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 |
+-------+