MySQL如何求時間差?
MySQL中求時間差通常使用的是DATEDIFF()和TIMESTAMPDIFF()函數(shù),這兩個函數(shù)的實現(xiàn)方法略有差別,下文將著重介紹它們的用法及區(qū)別。
DATEDIFF()函數(shù)求時間差
DATEDIFF(date1,date2)函數(shù)用于計算日期date1和日期date2之間的天數(shù)差,date1和date2應該是以‘YYYY-MM-DD’格式表示的日期。
例如:
SELECT DATEDIFF('2021-08-10', '2021-07-10') AS days_diff;
結果為31,表示兩個日期之間相差31天。
TIMESTAMPDIFF()函數(shù)求時間差
TIMESTAMPDIFF(unit,datetime1,datetime2)函數(shù)用于返回datetime1和datetime2之間的時間差,unit參數(shù)用于指定返回的時間單位。
例如:
SELECT TIMESTAMPDIFF(MINUTE,'2021-08-10 12:00:00','2021-08-10 12:45:00') AS minutes_diff;
結果為45,表示兩個時間之間相差45分鐘。
兩個函數(shù)的區(qū)別
DATEDIFF()函數(shù)只能計算天數(shù)差,而TIMESTAMPDIFF()函數(shù)可以根據(jù)unit參數(shù)返回任意時間單位的差值。
再舉個例子:
SELECT TIMESTAMPDIFF(SECOND,'2021-08-10 12:00:00','2021-08-10 12:01:30') AS seconds_diff;
結果為90,表示兩個時間之間相差90秒。
總結
MySQL中求時間差通常使用DATEDIFF()和TIMESTAMPDIFF()函數(shù),具體使用還要根據(jù)不同的情況選擇不同的函數(shù)。