【MySQL】日時のフォーマットを指定する方法


ここではMySQLで日時のフォーマットを指定する方法を紹介しています。

日時のフォーマットを指定する方法

日時のフォーマットを指定するには、DATE_FORMAT関数を使用します。

DATE_FORMAT関数の基本的な使い方は次の通りです。

DATE_FORMAT(日付,日付のフォーマット)

指定できるフォーマットは次の通りです。

書式 内容 表記
%Y 4桁
%y 2桁
%c 1~12
%m 01~12
%d 00~31
%e 0~31
%H 00~23
%k 0~23
%i 00~59
%s 00~59
%w 曜日 0~6、日曜日が0

日時のフォーマットを指定したSQLサンプル

次のSQLでは、年月日と時分秒を表示しています。

mysql> SELECT DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s');
+----------------------------------------+
| DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') |
+----------------------------------------+
| 2010/10/10 10:10:10                    |
+----------------------------------------+
1 row in set (0.00 sec)

「/」や「:」を外し、次のように編集することもできます。

mysql> SELECT DATE_FORMAT(NOW(),'%Y%m%d%H%i%s');
+-----------------------------------+
| DATE_FORMAT(NOW(),'%Y%m%d%H%i%s') |
+-----------------------------------+
| 20101010101010                    |
+-----------------------------------+
1 row in set (0.00 sec)

フォーマットに指定した値だけを表示するので、時分秒だけを取得することも可能です。

mysql> SELECT DATE_FORMAT(NOW(),'%H:%i:%s');
+-------------------------------+
| DATE_FORMAT(NOW(),'%H:%i:%s') |
+-------------------------------+
| 10:10:10                      |
+-------------------------------+
1 row in set (0.00 sec)