MySQL の TIMESTAMPDIFF 関数の使い方
MySQL の TIMESTAMPDIFF 関数は、2 つの日付または時刻の差分を計算して、指定された時間単位の結果を返します。
TIMESTAMPDIFF 関数の構文は次のとおりです。
TIMESTAMPDIFF(単位, 開始日時, 終了日時)
期間を返す単位を示すunitは、次の単位から選択できます。
- マイクロセカンド:マイクロ秒
- 秒
- ミニッツ
- 時間:時間
- DAY:日
- 週
- 月:MONTH
- 四半期
- 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関数の使用をご検討ください。