DATE_FORMAT関数/TIME_FORMAT関数(日付または時刻を指定したフォーマットで整形する)

MySQL で DATE_FORMAT 関数を使用すると引数に指定した日付を表す値を指定のフォーマットで整形した文字列を取得することができます。また TIME_FORMAT 関数を使用すると時刻を表す値を指定のフォーマットで整形した文字列を取得することができます。ここでは MySQL における DATE_FORMAT 関数および TIME_FORMAT関数 関数の使い方について解説します。

(Last modified: )

DATE_FORMAT関数およびTIME_FORMAT関数関数の使い方

DATE_FORMAT 関数は引数に指定した日付の値を指定のフォーマットで整形した文字列を文字列を取得するために使用します。書式は次の通りです。

DATE_FORMAT(date,format)

対象の日付を表す文字列( date )を指定のフォーマット( format )に従って整形した文字列を取得します。

TIME_FORMAT 関数は引数に指定した時刻の値を指定のフォーマットで整形した文字列を文字列を取得するために使用します。書式は次の通りです。

TIME_FORMAT(time,format)

対象の時刻を表す文字列( time )を指定のフォーマット( format )に従って整形した文字列を取得します。

日付に関して指定できるフォーマットは次のとおりです。

指定子説明
%a簡略曜日名 (Sun..Sat)
%b簡略月名 (Jan..Dec)
%c月、数字 (0..12)
%D英語のサフィクスを持つ日付 (0th, 1st, 2nd, 3rd, …)
%d日、数字 (00..31)
%e日、数字 (0..31)
%j年間通算日 (001..366)
%M月名 (January..December)
%m月、数字 (00..12)
%U週 (00..53)、日曜日が週の初日、WEEK() モード 0
%u週 (00..53)、月曜日が週の初日、WEEK() モード 1
%V週 (01..53)、日曜日が週の初日、WEEK() モード 2、%X とともに使用
%v週 (01..53)、月曜日が週の初日、WEEK() モード 3、%x とともに使用
%W曜日名 (Sunday..Saturday)
%w曜日 (0=Sunday..6=Saturday)
%Y年、数字、4 桁
%y年、数字 (2 桁)
%%リテラル 「%」 文字
%xx (上記にないすべての 「x」)

時刻に関して指定できるフォーマットは次のとおりです。

指定子説明
%fマイクロ秒 (000000..999999)
%H時間 (00..23)
%h時間 (01..12)
%I時間(01..12)
%i分、数字 (00..59)
%k時 (0..23)
%l時 (1..12)
%pAM または PM
%r時間、12 時間単位 (hh:mm:ss に AM または PM が続く)
%S秒 (00..59)
%s秒 (00..59)
%T時間、24 時間単位 (hh:mm:ss)
%%リテラル 「%」 文字
%xx (上記にないすべての 「x」)

format には上記の指定子と文字列を組み合わせて指定してください。使い方はこのあとのサンプルをみてください。

-- --

それでは実際に試してみます。最初に日付に関して整形を行います。 %Y(年、数字、4 桁) %M(月名 (January..December) %d(日、数字 (00..31)) に整形してみます。

select date_format('2015-03-02', '%Y %M %d');

MySQL/DATE_FORMAT 関数の使い方(1)

次に %b(簡略月名 (Jan..Dec)) %e(日、数字 (0..31)) %W(曜日名 (Sunday..Saturday)) に整形してみます。

select date_format('2015-01-03', '%b-%e(%W)');

MySQL/DATE_FORMAT 関数の使い方(2)

今度は時刻に関して整形を行います。 %H(時間 (00..23)) %k(時 (0..23)) %s(秒 (00..59)) に整形してみます。

select time_format('21:45:02.205', '%H:%k:%s');

MySQL/TIME_FORMAT 関数の使い方(1)

次に %p(AM または PM) %h(時間 (01..12)) に整形してみます。

select time_format('21:45:02.205', '%p %h');

MySQL/TIME_FORMAT 関数の使い方(2)

元になる日付または時刻の値からフォーマットに従って整形した値を取得することができました。

-- --

date_format 関数および time_format 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。