MySQLでテーブルの日付形式を「日/月/年(d/m/y)」形式に変更する方法
MySQLでは、DATE_FORMAT()関数を使用することで、日付データを任意の形式に整形して表示できます。この記事では、テーブルの日付を「日/月/年(d/m/y)」形式に変更する方法を、実際のSQL例と実行結果とともにわかりやすく解説します。
基本構文
以下が基本となる構文です。
select date_format(yourColumnName,'%d/%m/%Y') as anyAliasName from yourTableName;
サンプルテーブルの作成
まず、テーブルを作成しましょう。
mysql> create table DemoTable
(
AdmissionDate date
);
Query OK, 0 rows affected (0.89 sec)
レコードの挿入
insertコマンドを使用して、いくつかのレコードをテーブルに挿入します。
mysql> insert into DemoTable values('2019-01-21');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('2019-09-09');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('2018-12-31');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values('2017-11-01');
Query OK, 1 row affected (0.16 sec)
テーブルの内容を確認する
select文で、テーブル内の全レコードを表示してみましょう。
mysql> select *from DemoTable;
これにより、以下のような出力が得られます。デフォルトでは日付が「YYYY-MM-DD」形式で格納されていることがわかります。
+---------------+ | AdmissionDate | +---------------+ | 2019-01-21 | | 2019-09-09 | | 2018-12-31 | | 2017-11-01 | +---------------+ 4 rows in set (0.00 sec)
日付形式をd/m/y形式に変換するクエリ
日付形式を「日/月/年(d/m/y)」に変更して取得するには、次のクエリを実行します。
mysql> select date_format(AdmissionDate,'%d/%m/%Y') as AdmissionDate from DemoTable;
実行すると、以下の出力が得られます。
+---------------+ | AdmissionDate | +---------------+ | 21/01/2019 | | 09/09/2019 | | 31/12/2018 | | 01/11/2017 | +---------------+ 4 rows in set (0.00 sec)
書式指定子のポイント
上記のクエリで使用している書式指定子の意味は以下の通りです。
%d:日(2桁、ゼロ埋め)%m:月(2桁、ゼロ埋め)%Y:4桁の西暦年
なお、DATE_FORMAT()はあくまで表示形式を変換する関数であり、テーブル内に保存されている実際の日付データやデータ型が書き換わるわけではない点に注意してください。元のデータを保持したまま、目的の形式で出力したい場合に非常に便利です。
-
PHP・MySQLで日付形式をdd/mm/yyyyに変更する方法
PHPやMySQLでは、日付の表示形式を自由に変更できます。本記事では、日付を「dd/mm/yyyy(日/月/年)」形式に変換する方法を、PHPとMySQLそれぞれのケースについて解説します。PHPで日付形式を変更する方法PHPでは、date()関数を使って日付形式を簡単に変更できます。基本構文は以下の通りです。date(d/m/Y, 日時の変数);また、文字列を日付として扱う場合は、strtotime()関数を使用します。この関数は、日付を表す文字列をUnixタイムスタンプに変換してくれるため、date()関数と組み合わせて使うのが一般的です。以下は、日時を「dd/mm/yyyy」形式に整形
-
MySQLデータベースにNULL(空)のjava.sql.Dateを挿入するエレガントな方法
はじめにJavaからMySQLデータベースへ日付型のデータを扱う際、値が未定義の場合には NULL(空のjava.sql.Date) を挿入したいケースがあります。本記事では、PreparedStatement の setNull() メソッドを使って、NULLの日付を elegantly に挿入する方法を解説します。1. テーブルの作成まず、データベース「web」内にテスト用のテーブルを作成します。以下がテーブル作成のクエリです。mysql> create table DemoTable ( AdmissionDate date ); Query OK, 0 rows affe