MySQLで日付の一部を取得する方法|EXTRACT()関数の使い方を解説
MySQLでは、EXTRACT()関数を使うことで、現在の日付や指定した日付から特定の部分を抽出できます。取得できる日付の単位は、年(YEAR)、月(MONTH)、日(DAY)、時(HOUR)、分(MINUTE)、秒(SECOND)、マイクロ秒(MICROSECOND)など、多岐にわたります。
EXTRACT()関数の基本構文
EXTRACT(単位 FROM 日付)
第一引数に取得したい単位(YEAR、MONTHなど)を指定し、FROMの後に日付を指定します。
使用例1:現在の日付から「年」を取得する
mysql> Select EXTRACT(Year from NOW()) AS YEAR; +-------+ | YEAR | +-------+ | 2017| +-------+ 1 row in set (0.00 sec)
このクエリでは、NOW()関数で取得した現在の日付から「年」の部分を抽出しています。実行結果として、現在の年(この例では2017年)が表示されます。
使用例2:指定した日付から「月」を取得する
mysql> Select EXTRACT(Month from '2017-09-21')AS MONTH; +-------+ | MONTH | +-------+ | 9 | +-------+ 1 row in set (0.00 sec)
このクエリでは、指定した日付「2017-09-21」から「月」の部分を抽出しています。結果として「9」が返され、9月であることがわかります。
まとめ
EXTRACT()関数を使えば、日付データから必要な部分だけを簡単に取り出せます。レポートの集計やデータのグルーピングなど、年や月ごとにデータを扱いたい場面で非常に便利な関数です。ぜひ活用してみてください。
-
MySQLで日付ごとの合計値を集計する方法【GROUP BY活用術】
MySQLでは、datetime型の日付データを日ごとにグループ化し、数値の合計を求めることができます。本記事では、サンプルテーブルを作成し、DATE()関数とGROUP BY句、SUM()関数を組み合わせて日付ごとの合計を集計する手順を解説します。1. サンプルテーブルの作成まず、datetime型のカラムと、日数(カウント)を格納するint型のカラムを持つテーブルを作成します。mysql> create table DemoTable ( ShippingDate datetime, CountOfDate int ); Query OK, 0 rows affect
-
MySQLで日付形式を変換・更新する方法をわかりやすく解説
はじめにMySQLでは、文字列として保存された日付データをSTR_TO_DATE()関数を使って正しい日付形式に変換できます。本記事では、実際のSQL文の例を通じて、日付形式の変換手順を段階的に解説します。1. サンプルテーブルの作成まず、日付データを文字列型(VARCHAR)で格納するテーブルを作成します。mysql> create table DemoTable630 (ArrivalDate varchar(100));Query OK, 0 rows affected (0.55 sec)2. テストデータの挿入次に、INSERT文を使って「YYYY-DD-MM」形式(年-日-月