我有一個查詢,我試圖讓兩個不同時間之間的持續時間(例如6.5小時)。時間差分計算日期和時間在單獨列
在我的數據庫中,時間和日期保存在不同的字段中,因此我可以高效地查詢startDate或endDate,因爲我從不按時查詢。
我的查詢看起來像這樣
SELECT COUNT(*), IFNULL(SUM(TIMEDIFF(endTime,startTime)),0) FROM events WHERE user=18
有時一個事件會在一夜之間,所以時間差,需要考慮到的日期之間的差異也是如此。
我一直在試圖
SELECT COUNT(*), IFNULL(SUM(TIMEDIFF(CONCAT(endDate,' ',endTime),CONCAT(startDate,' ',startTime))),0) FROM events WHERE user=18
當我做到這不幸的是我只得到錯誤,我似乎無法在兩個字段合併爲一個單一的時間戳。
感謝詹姆斯,我最後不得不使用HOUR(TIMEDIFF(結束日期,的startDate)+ HOUR(TIMEDIFF(結束時間,開始時間),爲您介紹的方式,給了8000作爲代替8 – pedalpete 2010-05-03 17:30:17
沒問題的迴應。你會失去小數部分,但我沒有安裝mySQL來測試,SUM(TIMEDIFF(endDate,startDate),TIMEDIFF(endTime,startTime))怎麼樣? – James 2010-05-04 08:13:59