DATE_FORMAT
概要
フォーマットタイプに従って、日付タイプをビット文字列に変換します。
構文
DATE_FORMAT(<date>, <format>)
パラメータ
| パラメータ | 説明 |
|---|---|
<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 |
+--------------------------------------------+