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日」のように指定すれば、日本語表記の日付として出力することもできます。表示形式を変更するだけで、元のデータが書き換えられるわけではないため、安心して利用できます。
-
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コマンドを使ってテ
-
MySQLで1つのINSERT文を使って列に複数の値を一括挿入する方法
はじめにMySQLでは、1つのINSERT文を繰り返し実行しなくても、単一のクエリだけで同じ列に複数の値を挿入できます。VALUES句の後ろに、挿入したい値をカンマ区切りのタプル(行)として列挙するだけです。この方法はデータベースへの接続回数を減らせるため、大量のデータを登録する際にパフォーマンス面でも大きなメリットがあります。基本構文複数の値を1つの列に挿入する場合の基本構文は以下のとおりです。INSERT INTO テーブル名 VALUES(値1),(値2),...,(値N);このように、各値を丸括弧で囲み、カンマ(,)で区切って並べることで、1回のクエリで複数行をまとめて挿入できます。実