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

広告
eyecatch

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

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 関数の使い方について解説しました。

MySQLの使い方の他の記事を見てみる

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。