MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLのDATE_FORMAT()関数で日付形式を自在に変更する方法

MySQLのDATE_FORMAT()関数とは

MySQLでは、DATE_FORMAT()関数を使うことで、日付データを任意の形式に変換して表示できます。日付を「日/月/年」や「年月日」など、用途に応じたフォーマットに整えたい場合に非常に便利な関数です。

基本構文

SELECT DATE_FORMAT(カラム名, '書式指定子') FROM テーブル名;

第1引数に対象のカラム名、第2引数に希望する形式を表す書式指定子を渡します。

実際に試してみよう

1. サンプルテーブルを作成する

まずは、出荷日(ShippingDate)を格納するテーブルを作成します。

mysql> CREATE TABLE DemoTable
    (
    ShippingDate date
    );
Query OK, 0 rows affected (0.48 sec)

2. レコードを挿入する

INSERT文を使って、サンプルデータを登録します。

mysql> INSERT INTO DemoTable VALUES('2016-01-21');
Query OK, 1 row affected (0.17 sec)

mysql> INSERT INTO DemoTable VALUES('2018-05-24');
Query OK, 1 row affected (0.18 sec)

mysql> INSERT INTO DemoTable VALUES('2019-12-31');
Query OK, 1 row affected (0.18 sec)

3. 登録したデータを確認する

SELECT文ですべてのレコードを表示してみましょう。

mysql> SELECT * FROM DemoTable;

実行結果は以下のとおりです。

+--------------+
| ShippingDate |
+--------------+
| 2016-01-21   |
| 2018-05-24   |
| 2019-12-31   |
+--------------+
3 rows in set (0.00 sec)

DATE_FORMAT()で日付形式を変更する

それでは、DATE_FORMAT()関数を使って、日付を「日/月/年(%d/%m/%Y)」の形式に変換してみます。

mysql> SELECT DATE_FORMAT(ShippingDate,'%d/%m/%Y') FROM DemoTable;

実行結果:

+--------------------------------------+
| DATE_FORMAT(ShippingDate,'%d/%m/%Y') |
+--------------------------------------+
| 21/01/2016                           |
| 24/05/2018                           |
| 31/12/2019                           |
+--------------------------------------+
3 rows in set (0.00 sec)

このように、元の「YYYY-MM-DD」形式の日付が、指定した「DD/MM/YYYY」形式に変換されて表示されました。

主な書式指定子の一覧

DATE_FORMAT()で使える代表的な書式指定子は以下のとおりです。これらを組み合わせることで、さまざまな表示形式を実現できます。

  • %Y:4桁の年(例:2024)
  • %y:2桁の年(例:24)
  • %m:2桁の月(01〜12)
  • %c:月(先頭ゼロなし)
  • %d:2桁の日(01〜31)
  • %e:日(先頭ゼロなし)
  • %H:時(00〜23)
  • %i:分(00〜59)
  • %s:秒(00〜59)

まとめ

DATE_FORMAT()関数を使えば、MySQLに保存された日付データを自由な形式で表示できます。書式指定子を組み合わせれば「2024年01月15日」のような日本語表記にも対応できるため、Webアプリケーションやレポート出力など、さまざまな場面で活用できます。

  1. MySQLで日付形式を変換する方法|STR_TO_DATE()関数の使い方を解説

    MySQLでは、VARCHAR型などで保存された文字列の日付データを、正しい日付・時刻形式に変換したいケースがよくあります。そんなときに活躍するのが STR_TO_DATE() 関数です。この記事では、実際のSQL例とともに具体的な使い方を解説します。サンプルテーブルの作成まず、日付を文字列として格納するテーブルを作成します。mysql> create table DemoTable2010 ( DueDate varchar(20) ); Query OK, 0 rows affected (0.68 sec)テストデータの挿入INSERT文を使って、「日/月/年 時:分:秒」

  2. Excel差し込み印刷で日付の表示形式を変更する方法【初心者向けステップ解説】

    差し込み印刷(Mail Merge)は、Microsoft Wordが持つ非常に便利な機能の一つです。この機能とExcelのデータシートを組み合わせれば、宛先ごとに内容が変わる文書を何通でも自動生成できます。本記事では、Excel差し込み印刷において日付の表示形式を変更する手順を、ステップごとにわかりやすく解説します。練習用ワークブックも用意しているので、実際に操作しながら読み進めてください。Excel差し込み印刷で日付形式を変更する手順ここでは、Excelの差し込み印刷で日付形式を変更する具体的な流れを紹介します。例として、「昇進通知書」を従業員へ一括送付するケースを想定して説明します。ステ