MySQL支持計算兩個時間之間的差值,通常用于統計時間間隔。計算時間差值的方法是用結束時間減去開始時間,例如:
SELECT TIMEDIFF('2021-01-02 12:30:00', '2021-01-01 10:00:00')
以上語句會返回 "26:30:00",即相差的小時數、分鐘數和秒數。
如果要計算小時、分鐘或秒的差值,可以使用以下語句:
SELECT TIMESTAMPDIFF(HOUR, '2021-01-01 10:00:00', '2021-01-02 12:30:00')
SELECT TIMESTAMPDIFF(MINUTE, '2021-01-01 10:00:00', '2021-01-02 12:30:00')
SELECT TIMESTAMPDIFF(SECOND, '2021-01-01 10:00:00', '2021-01-02 12:30:00')
以上語句分別返回相差的小時數、分鐘數和秒數。
需要注意的是,如果兩個時間傳入的格式不一致,MySQL會自動將其轉換為一致的格式進行計算,例如:
SELECT TIMEDIFF('2021-01-02 12:30:00', '2021-01-01')
以上語句會返回 "12:30:00",即將第二個參數轉換為 "2021-01-01 00:00:00" 后再計算時間差。