2012-10-29 3 views
0

Я даю ввод TIMESTAMPDIFF(HOUR,'29-10-2012','19-11-2012'), но я получаю вывод как 504, но значение должно быть 510.MYSQL TIMESTAMPDIFF() дает неправильное значение

Выходной сигнал 510, потому что стартовая величина 29/10/2012 05:13.

Есть ли альтернатива этой функции, которая дает День, Час, Минуту, Второе различие между двумя датами?

ответ

4

Проходите DATE значения в функции TIMESTAMPDIFF, все правильно -

  • 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 | 
+-------+ 
+0

: Когда вы говорите, конец день 19, это означает, 19/11/2011 12:00 PM.Am, я правильно? – ram

+0

«2012-11-19 00:00:00», который является «2012-11-19 12:00 AM». – Devart

Смежные вопросы