2012-10-29 74 views
0

我給TIMESTAMPDIFF(HOUR,'29-10-2012','19-11-2012')輸入,但輸出爲504,但值應該是510MYSQL TIMESTAMPDIFF()給出錯誤的值

輸出爲510,因爲起始值爲29/10/2012 05:13

是否有替代這個函數給出日期,小時,分鐘,兩個日期之間的第二個區別?

回答

4

您通過DATE在TIMESTAMPDIFF函數值,全是正確的 -

  • 3天月:2012年10月29日,二零一二年十月三十○日,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