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

MySQLで特定の日付形式を設定する方法【DATE_FORMAT()関数の使い方】

MySQLで特定の日付形式を設定する方法

MySQLで日付を特定の形式で表示したい場合は、DATE_FORMAT()関数を使用します。この関数を利用することで、「2019-01-31」のような標準形式の日付を「31-January-2019」のように、目的に合わせて自由に変換できます。
ここでは、テーブルの作成から日付形式の変更・表示までの手順を順番に解説します。

手順1:サンプルテーブルを作成する

まず、DATE型のカラムを持つテーブルを作成しましょう。

mysql> create table DemoTable
   (
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   ArrivalDate date
   );
Query OK, 0 rows affected (0.60 sec)

手順2:レコードを挿入する

INSERT文を使って、テーブルにいくつかのレコードを追加します。

mysql> insert into DemoTable(ArrivalDate) values('2019-01-31');
Query OK, 1 row affected (0.15 sec)

mysql> insert into DemoTable(ArrivalDate) values('2019-04-26');
Query OK, 1 row affected (0.12 sec)

mysql> insert into DemoTable(ArrivalDate) values('2019-03-01');
Query OK, 1 row affected (0.13 sec)

手順3:登録したデータを確認する

SELECT文で、テーブル内のすべてのレコードを表示してみます。

mysql> select *from DemoTable;

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

+----+-------------+
| Id | ArrivalDate |
+----+-------------+
|  1 | 2019-01-31  |
|  2 | 2019-04-26  |
|  3 | 2019-03-01  |
+----+-------------+
3 rows in set (0.00 sec)

手順4:DATE_FORMAT()で日付形式を指定する

MySQLで特定の日付形式を設定するには、次のようにクエリを記述します。

mysql> select Id,DATE_FORMAT(ArrivalDate, '%d-%M-%Y') from DemoTable;

実行すると、日付が「日-月名(英語)-年」の形式で表示されます。

+----+--------------------------------------+
| Id | DATE_FORMAT(ArrivalDate, '%d-%M-%Y') |
+----+--------------------------------------+
|  1 | 31-January-2019                      |
|  2 | 26-April-2019                        |
|  3 | 01-March-2019                        |
+----+--------------------------------------+
3 rows in set (0.06 sec)

よく使われる主な書式指定子

DATE_FORMAT()では、複数の書式指定子を組み合わせることで、さまざまな日付表現が可能です。代表的な指定子は以下のとおりです。

  • %d … 日(2桁、例:01、31)
  • %M … 月の英語名(例:January、March)
  • %m … 月(2桁の数値、例:01、03)
  • %Y … 年(4桁、例:2019)
  • %y … 年(下2桁、例:19)

まとめ

MySQLで日付の表示形式を変更したい場合には、DATE_FORMAT()関数が便利です。書式指定子を自由に組み合わせることで、アプリケーションや帳票出力などの要件に応じた柔軟な日付表示を実現できます。

  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. MySQLでレコードを挿入しながら日付をフォーマットする方法(DATE_FORMAT活用)

    MySQLでは、INSERT文の中でDATE_FORMAT()関数を使うことで、レコードを挿入する際に日付を任意の形式に整形できます。本記事では、実際にテーブルを作成し、日付をフォーマットしながらデータを挿入する手順を具体的なSQL例とともに解説します。1. テーブルの作成まず、フォーマット済みの日付文字列を格納するためのテーブルを作成します。ここでは、VARCHAR型のカラム「ShippingDate」を持つシンプルなテーブルを用意します。mysql> create table DemoTable2012 -> ( -> ShippingDate varch