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

MySQLでCURDATE()(現在の日付)の表示形式を変更する方法

MySQLでは、CURDATE()関数が返す現在の日付は、デフォルトで「YYYY-mm-dd」(例:2019-08-08)という形式になっています。この形式を変更したい場合は、DATE_FORMAT()関数を使用します。

CURDATE()で現在の日付を確認する

まず、現在の日付をそのまま表示してみましょう。以下のクエリを実行します。

mysql> select curdate();

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

+------------+
| curdate()  |
+------------+
| 2019-08-08 |
+------------+
1 row in set (0.00 sec)

DATE_FORMAT()で日付形式を変更する

CURDATE()の表示形式を「mm/dd/YYYY」に変更するには、以下のようにDATE_FORMAT()関数を使います。

mysql> select date_format(curdate(), '%m/%d/%Y');

実行すると、日付が「08/08/2019」のような形式で表示されます。

+------------------------------------+
| date_format(curdate(), '%m/%d/%Y') |
+------------------------------------+
| 08/08/2019                         |
+------------------------------------+
1 row in set (0.00 sec)

テーブルのデータに対して日付形式を変更する例

次に、実際のテーブルに保存された日付データの形式を変更する手順を見ていきましょう。

1. テーブルを作成する

まず、日付型のカラムを持つテーブルを作成します。

mysql> create table DemoTable (
   ArrivalDate date
);
Query OK, 0 rows affected (0.50 sec)

2. レコードを挿入する

INSERTコマンドを使って、いくつかのレコードを追加します。

mysql> insert into DemoTable values('2019-01-10');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values('2016-12-18');
Query OK, 1 row affected (0.12 sec)

3. レコードを表示する

SELECT文ですべてのレコードを確認します。

mysql> select *from DemoTable;

実行結果は以下のとおりです。デフォルトでは「YYYY-mm-dd」形式で表示されています。

+-------------+
| ArrivalDate |
+-------------+
| 2019-01-10  |
| 2016-12-18  |
+-------------+
2 rows in set (0.00 sec)

4. 日付形式を変更して取得する

カラムの値に対しても、同じようにDATE_FORMAT()関数を適用できます。

mysql> select date_format(ArrivalDate, '%m/%d/%Y') from DemoTable;

実行結果:

+--------------------------------------+
| date_format(ArrivalDate, '%m/%d/%Y') |
+--------------------------------------+
| 01/10/2019                           |
| 12/18/2016                           |
+--------------------------------------+
2 rows in set (0.00 sec)

主な書式指定子の一覧

DATE_FORMAT()で使える代表的な書式指定子は以下のとおりです。

  • %Y:4桁の年(例:2019)
  • %y:2桁の年(例:19)
  • %m:2桁の月(例:01〜12)
  • %c:先頭の0なしの月(例:1〜12)
  • %d:2桁の日(例:01〜31)
  • %e:先頭の0なしの日(例:1〜31)

これらを組み合わせることで、「%Y年%m月%d日」のような日本式の表記にも自由に変更できます。

  1. MySQLで現在の日付・日時をDATETIME型に挿入する方法|CURDATE()とNOW()の使い方

    MySQLでは、現在の日付や日時をテーブルに挿入する際に、組み込み関数を利用することで簡単に実現できます。日付のみを挿入したい場合は CURDATE() 関数を、日付と時刻の両方を挿入したい場合は NOW() 関数を使用します。CURDATE()で現在の日付を挿入する現在の日付(時刻を含まない)を挿入する場合は、MySQLの組み込み関数 CURDATE() を使用します。基本構文は以下のとおりです。INSERT INTO yourTableName VALUES(CURDATE());NOW()で現在の日付と時刻を挿入する日付と時刻の両方を挿入したい場合は、組み込み関数 NOW() を使用しま

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