MySQL 日付から一部の値を取得する

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

手順

日付から一部の値を取得する場合は、「EXTRACT()」を使用します。

EXTRACT(値 FROM 日付)

値には、以下が指定可能です。

MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR
SECOND_MICROSECOND
MINUTE_MICROSECOND
MINUTE_SECOND
HOUR_MICROSECOND
HOUR_SECOND
HOUR_MINUTE
DAY_MICROSECOND
DAY_SECOND
DAY_MINUTE
DAY_HOUR
YEAR_MONTH

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

SELECT 
EXTRACT(YEAR FROM '2021-01-01'),
EXTRACT(YEAR_MONTH FROM '2021-01-01'),
EXTRACT(MONTH FROM '2021-01-01'),
EXTRACT(DAY FROM '2021-01-01')
;

実行結果をみると、日付から各単位で値が取得されていることが確認できます。

存在しない値を指定

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

SELECT 
EXTRACT(YEAR FROM '2021-15-01')
;

実行結果