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

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)
%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 |
+--------------------------------------------+