DATE_FORMAT
説明
フォーマットタイプに従って日付型をビット文字列に変換します。
構文
DATE_FORMAT(<date>, <format>)
パラメータ
| Parameter | デスクリプション |
|---|---|
<date> | 有効な日付値 |
<format> | 日付/時刻の出力形式を指定する |
利用可能な形式は以下の通りです:
| Format | デスクリプション |
|---|---|
| %a | 省略形の曜日名 (Sun..Sat) |
| %b | 省略形の月名 (Jan..Dec) |
| %c | 月、数値 (0..12) |
| %D | 英語の序数接尾辞付きの日 (0th, 1st, 2nd, 3rd, …) |
| %d | 日、数値 (00..31) |
| %e | 日、数値 (0..31) |
| %f | マイクロ秒 (000000..999999) |
| %H | 時 (00..23) |
| %h | 時 (01..12) |
| %I | 時 (01..12) |
| %i | 分、数値 (00..59) |
| %j | 年の通算日 (001..366) |
| %k | 時 (0..23) |
| %l | 時 (1..12) |
| %M | 月名 (January..December) |
| %m | 月、数値 (00..12) |
| %p | AM または PM |
| %r | 時刻、12時間制 (hh:mm:ss の後に AM または PM) |
| %S | 秒 (00..59) |
| %s | 秒 (00..59) |
| %T | 時刻、24時間制 (hh:mm:ss) |
| %U | 週 (00..53)、日曜日が週の最初の日; WEEK mode 0 |
| %u | 週 (00..53)、月曜日が週の最初の日; WEEK mode 1 |
| %V | 週 (01..53)、日曜日が週の最初の日; WEEK mode 2; %X と併用 |
| %v | 週 (01..53)、月曜日が週の最初の日; WEEK mode 3; %x と併用 |
| %W | 曜日名 (Sunday..Saturday) |
| %w | 曜日 (0=Sunday..6=Saturday) |
| %X | 日曜日が週の最初の日である週の年、数値、4桁; %V と併用 |
| %x | 月曜日が週の最初の日である週の年、数値、4桁; %v と併用 |
| %Y | 年、数値、4桁 |
| %y | 年、数値(2桁) |
| %% | リテラルの % 文字 |
| %x | 上記にない任意の "x" に対する x |
また、3つの形式もサポートしています:
yyyyMMdd
yyyy-MM-dd
yyyy-MM-dd HH:mm:ss
戻り値
フォーマットされた日付文字列。ただし、以下の特別なケースがあります:
- 現在、最大128バイトの文字列がサポートされています。戻り値が128バイトを超える場合、NULLが返されます。
例
select date_format('2009-10-04 22:23:00', '%W %M %Y');
+------------------------------------------------+
| date_format('2009-10-04 22:23:00', '%W %M %Y') |
+------------------------------------------------+
| Sunday October 2009 |
+------------------------------------------------+
select date_format('2007-10-04 22:23:00', '%H:%i:%s');
+------------------------------------------------+
| date_format('2007-10-04 22:23:00', '%H:%i:%s') |
+------------------------------------------------+
| 22:23:00 |
+------------------------------------------------+
select date_format('1900-10-04 22:23:00', '%D %y %a %d %m %b %j');
+------------------------------------------------------------+
| date_format('1900-10-04 22:23:00', '%D %y %a %d %m %b %j') |
+------------------------------------------------------------+
| 4th 00 Thu 04 10 Oct 277 |
+------------------------------------------------------------+
select date_format('1997-10-04 22:23:00', '%H %k %I %r %T %S %w');
+------------------------------------------------------------+
| date_format('1997-10-04 22:23:00', '%H %k %I %r %T %S %w') |
+------------------------------------------------------------+
| 22 22 10 10:23:00 PM 22:23:00 00 6 |
+------------------------------------------------------------+
select date_format('1999-01-01 00:00:00', '%X %V');
+---------------------------------------------+
| date_format('1999-01-01 00:00:00', '%X %V') |
+---------------------------------------------+
| 1998 52 |
+---------------------------------------------+
select date_format('2006-06-01', '%d');
+------------------------------------------+
| date_format('2006-06-01 00:00:00', '%d') |
+------------------------------------------+
| 01 |
+------------------------------------------+
select date_format('2006-06-01', '%%%d');
+--------------------------------------------+
| date_format('2006-06-01 00:00:00', '%%%d') |
+--------------------------------------------+
| %01 |
+--------------------------------------------+