MySQL 日時分秒の差分を計算する

  • 作成日 2022.01.28
  • 更新日 2022.10.17
  • mysql
MySQL 日時分秒の差分を計算する

MySQLで、日時分秒の差分を計算する手順を記述してます。

環境

  • OS ubuntu21.10
  • MySQL Ver 8.0.27-0ubuntu0.21.10.1 for Linux on x86_64 ((Ubuntu))
  • MySQL Workbench 8.0.27

手順

日時分秒の差分を計算する場合は、「TIMEDIFF()」を使用します。
※結果は、「hh:mm:ss」形式となります。

TIMEDIFF( 日時分秒, 日時分秒 )

実際に、実行してみます。

SELECT 
TIMEDIFF('2021:01:02 00:00:00',
         '2021:01:01 00:00:00.000001'),
TIMEDIFF('2021:01:01 00:00:00',
         '2021:01:02 01:01:01.000001'),
TIMEDIFF('2022:01:02 00:00:00',
         '2021:01:01 00:00:00.000001')

実行結果をみると、差分が計算されていることが確認できます。

存在しない日付を指定

存在しない日付を指定すると、「null」が返されます。

SELECT 
TIMEDIFF('2021:21:02 00:00:00',
         '2021:01:01 00:00:00.000001')

実行結果

形式が違っても、「null」が返ります。

SELECT 
TIMEDIFF('2021:01:02',
         '2021:01:01 00:00:00.000001')

実行結果