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

MySQLクエリでテーブル列の日付形式を変更する方法

MySQLクエリでテーブル列の日付形式を変更する方法

MySQLでテーブルに保存された日付の表示形式を変更するには、DATE_FORMAT()関数を使用します。この記事では、サンプルテーブルを作成し、実際に日付形式を変換するまでの手順をサンプルコード付きでわかりやすく解説します。

1. サンプルテーブルの作成

まず、datetime型の列を持つテーブルを作成しましょう。

mysql> create table DemoTable1906
    (
    DueTime datetime
    );
Query OK, 0 rows affected (0.00 sec)

2. レコードの挿入

insertコマンドを使用して、テーブルにいくつかのレコードを挿入します。

mysql> insert into DemoTable1906 values(now());
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1906 values(curdate());
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1906 values('2017-10-11');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1906 values('2015-01-12');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1906 values('2018-04-25');
Query OK, 1 row affected (0.00 sec)

3. テーブルの内容を確認する

select文を使って、テーブル内のすべてのレコードを表示します。

mysql> select * from DemoTable1906;

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

+---------------------+
| DueTime             |
+---------------------+
| 2019-12-11 13:54:22 |
| 2019-12-11 00:00:00 |
| 2017-10-11 00:00:00 |
| 2015-01-12 00:00:00 |
| 2018-04-25 00:00:00 |
+---------------------+
5 rows in set (0.00 sec)

4. DATE_FORMAT()関数で日付形式を変更する

日付の形式を変更するクエリは以下のとおりです。ここでは「日-月-年」の順に表示するため、フォーマット指定子として「%d-%m-%Y」を指定しています。

mysql> select date_format(DueTime,'%d-%m-%Y') from DemoTable1906;

実行結果は以下のとおりです。元の「YYYY-MM-DD」形式が「DD-MM-YYYY」形式に変換されていることが確認できます。

+---------------------------------+
| date_format(DueTime,'%d-%m-%Y') |
+---------------------------------+
| 11-12-2019                      |
| 11-12-2019                      |
| 11-10-2017                      |
| 12-01-2015                      |
| 25-04-2018                      |
+---------------------------------+
5 rows in set (0.00 sec)

主なフォーマット指定子一覧

DATE_FORMAT()関数でよく使われるフォーマット指定子は以下のとおりです。これらを組み合わせることで、用途に応じた柔軟な日付表示が可能になります。

  • %Y:4桁の年(例:2019)
  • %m:2桁の月(例:01~12)
  • %d:2桁の日(例:01~31)
  • %H:24時間表記の時(例:00~23)
  • %i:分(例:00~59)
  • %s:秒(例:00~59)

たとえば「%Y年%m月%d日」のように指定すれば、日本語表記の日付として出力することもできます。表示形式を変更するだけで、元のデータが書き換えられるわけではないため、安心して利用できます。

  1. MySQLでテーブルの日付レコードを変更する方法|UPDATEとDATE_ADD()の使い方

    MySQLで保存済みの日付データに年数を加算して変更したい場合、UPDATEコマンドとDATE_ADD()関数を組み合わせることで簡単に実現できます。ここでは、実際のSQLクエリ例を使いながら、日付レコードを変更する手順を順番に解説します。1. テーブルを作成するまず、日付型(date)のカラムを持つテーブルを作成します。mysql> create table DemoTable1984 ( ShippingDate date ); Query OK, 0 rows affected (0.00 sec)2. レコードを挿入する次に、INSERTコマンドを使ってテ

  2. MySQLで1つのINSERT文を使って列に複数の値を一括挿入する方法

    はじめにMySQLでは、1つのINSERT文を繰り返し実行しなくても、単一のクエリだけで同じ列に複数の値を挿入できます。VALUES句の後ろに、挿入したい値をカンマ区切りのタプル(行)として列挙するだけです。この方法はデータベースへの接続回数を減らせるため、大量のデータを登録する際にパフォーマンス面でも大きなメリットがあります。基本構文複数の値を1つの列に挿入する場合の基本構文は以下のとおりです。INSERT INTO テーブル名 VALUES(値1),(値2),...,(値N);このように、各値を丸括弧で囲み、カンマ(,)で区切って並べることで、1回のクエリで複数行をまとめて挿入できます。実