メインコンテンツまでスキップ
バージョン: 2.1

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)
%pAM または 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 |
+--------------------------------------------+