【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)