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) 、週の開始は日曜日 | 
      
%u | 
        週 (00..53)、週の開始は月曜日 | 
      
%V | 
        週 (01..53) 、週の開始は日曜日で、%X と使用 | 
      
%v | 
        週 (01..53) 、週の開始は月曜日で、%x と使用 | 
      
%W | 
        曜日名 (Sunday..Saturday) | 
      
%w | 
        曜日 (0=Sunday..6=Saturday) | 
      
%X | 
        年間の週、週の始まりは日曜日、週、数字、4 桁 ; %V と使用 | 
      
%x | 
        年間の週、週の始まりは月曜日、数字、4 桁、%v と使用 | 
      
%Y | 
        年、数字、4 桁 | 
%y | 
        年、数字 ( 2 桁 ) | 
%% | 
        リテラル ‘%’ 文字 | 
      
%x | 
        x 、上記にないすべての ‘x’ | 
      
MySQL は '2004-00-00' のような不完全な日付の格納を許可するため、月と日にちの指定子の範囲は 0 から始まります。
MySQL 5.1.12 から、日にちおよび月の名称に使用される言語と、省略後は、lc_time_names システム環境変数 ( 項4.10.9. 「MySQL サーバのローケル サポート」 ) の値によって管理されます。
MySQL 5.1.15 からは、DATE_FORMAT() は文字セットを持つストリングと、character_set_connection および collation_connection によって提示された照合を戻し、非 ASCII 文字を含む月と曜日の名前を戻せるようになりました。5.1.15 の前は、戻り値はバイナリ ストリングでした。
mysql>SELECT DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');-> 'Saturday October 1997' mysql>SELECT DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');-> '22:23:00' mysql>SELECT DATE_FORMAT('1997-10-04 22:23:00','%D %y %a %d %m %b %j'); -> '4th 97 Sat 04 10 Oct 277' mysql>SELECT 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' mysql>SELECT DATE_FORMAT('1999-01-01', '%X %V');-> '1998 52' mysql>SELECT DATE_FORMAT('2006-06-00', '%d');-> '00'