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

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()はあくまで表示形式を変換する関数であり、テーブル内に保存されている実際の日付データやデータ型が書き換わるわけではない点に注意してください。元のデータを保持したまま、目的の形式で出力したい場合に非常に便利です。

  1. 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」形式に整形

  2. 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