MYSQL TIMESTAMPDIFF()给出了错误的值

ram*_*ram 0 mysql

我正在给输入,TIMESTAMPDIFF(HOUR,'29-10-2012','19-11-2012')但我得到输出,504但值应该是510.

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

有没有替代这个功能,它给出了两个日期之间的日,小时,分钟,秒差异?

Dev*_*art 5

你在TIMESTAMPDIFF函数中传递DATE值,一切都是正确的 -

  • 10月3日:2012-10-29,2012-10-30,2012-10-31 = 3*24 = 72
  • 十一月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 |
+-------+
Run Code Online (Sandbox Code Playgroud)