MySQL 計算兩個日期時間的間隔 TIMESTAMPDIFF()

MySQL 可以用 TIMESTAMPDIFF() 函數來相減兩個 datetime 或 date。

TIMESTAMPDIFF() 語法 (Syntax)

TIMESTAMPDIFF(unit, datetime_expr1, datetime_expr2)

TIMESTAMPDIFF() 會返回 datetime_expr2 − datetime_expr1 相減後的整數,其中 unit 表示整數的單位要是什麼。

unit 可以是:

  • MICROSECOND
  • SECOND
  • MINUTE
  • HOUR
  • DAY
  • WEEK
  • MONTH
  • QUARTER
  • YEAR

TIMESTAMPDIFF() 用法 (Example)

計算兩個日期間相差幾個月:

mysql> SELECT TIMESTAMPDIFF(MONTH, '2003-02-01', '2003-05-01');
3

計算兩個日期間相差幾年:

mysql> SELECT TIMESTAMPDIFF(YEAR, '2002-05-01', '2001-01-01');
1

計算兩個日期間相差幾分鐘,若沒時間的部分預設值為 00:00:00:

mysql> SELECT TIMESTAMPDIFF(MINUTE, '2003-02-01', '2003-05-01 12:05:55');
128885

更多 MySQL 相關的日期時間函數在這邊
更多 SQL Server 相關的日期時間函數在這邊