MySQL の TIMESTAMPDIFF 関数の使い方

MySQL の TIMESTAMPDIFF 関数は、2 つの日付または時刻の差分を計算して、指定された時間単位の結果を返します。

TIMESTAMPDIFF 関数の構文は次のとおりです。
TIMESTAMPDIFF(単位, 開始日時, 終了日時)

期間を返す単位を示すunitは、次の単位から選択できます。

  1. マイクロセカンド:マイクロ秒
  2. ミニッツ
  3. 時間:時間
  4. DAY:日
  5. 月:MONTH
  6. 四半期
  7. YEAR:西暦YEAR年

start_dateおよびend_dateはそれぞれ、差分を計算する開始日および終了日を指し、日付型、日付時刻型、またはタイムスタンプ型にすることができます。

例えば、2つの日付の差分日数を計算するには、以下の文を使用できます。
SELECT TIMESTAMPDIFF(DAY, ‘2020-01-01’, ‘2020-01-10’);

2020年1月1日から2020年1月10日までの期間が9日間であることを表す結果の9が返されます。

同様に、2つの時刻差を時で計算する場合は、次の文を使用します。
SELECT TIMESTAMPDIFF(HOUR, ‘09:00:00’, ‘18:00:00’);

これにより、午前 9時から午後 6時まで9時間の、9という結果が返されます。

TIMESTAMPDIFF関数は整数値を返しますので、より細かな差分(浮動小数点など)を求める場合はTIMEDIFF関数の使用をご検討ください。

bannerAds