MySQL 日時データを指定した単位で差分を取得する

  • 作成日 2022.03.23
  • 更新日 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

手順

日時データを指定した単位で差分を取得する場合は、「TIMESTAMPDIFF()」を使用します。

TIMESTAMPDIFF( 単位,日時データ,日時データ )

単位は以下のものが指定できます。
SECOND MINUTE HOUR DAY WEEK MONTH QUARTER YEAR

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

SELECT 
TIMESTAMPDIFF(YEAR,'2021-01-01','2025-02-01'),
TIMESTAMPDIFF(YEAR,'2027-01-01','2025-02-01'),
TIMESTAMPDIFF(MONTH,'2021-01-01','2025-02-01'),
TIMESTAMPDIFF(MINUTE,'2021-01-01 00:02:00','2021-01-01 00:05:01')

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

存在しない日付を指定

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

SELECT 
TIMESTAMPDIFF(YEAR,'2021-15-01','2025-02-01')

実行結果