date_format
date_format(timestamp, fmt)
date_format函数将日期参数按照fmt指定的格式转换为字符串。
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | SELECT date_format('2009-10-04 22:23:00', '%M %D %W'); date_format -------------------- October 4th Sunday (1 row) SELECT date_format('2021-02-20 08:30:45', '%Y-%m-%d %H:%i:%S'); date_format --------------------- 2021-02-20 08:30:45 (1 row) SELECT date_format('2021-02-20 18:10:15', '%r-%T'); date_format ---------------------- 06:10:15 PM-18:10:15 (1 row) |
表1显示了可以用于将日期参数格式化输出的格式类型,这些格式类型适用于函数date_format、time_format、str_to_date、str_to_time和from_unixtime。
格式 | 说明 | 取值 |
|---|---|---|
%a | 缩写星期名 | Sun...Sat |
%b | 缩写月份名 | Jan...Dec |
%c | 月份 | 0...12 |
%D | 带英文后缀的月份日期 | 0th, 1st, 2nd, 3rd, … |
%d | 一个月里的日,2位 | 00...31 |
%e | 一个月里的日 | 0...31 |
%f | 微秒 | 000000...999999 |
%H | 小时,24小时制 | 00...23 |
%h | 小时,12小时制 | 01...12 |
%I | 小时,12小时制,同%h | 01...12 |
%i | 分钟 | 00...59 |
%j | 一年里的日 | 001...366 |
%k | 小时,24小时制,同%H | 0...23 |
%l | 小时,12小时制,同%h | 1...12 |
%M | 月份名 | January...December |
%m | 月份,两位 | 00...12 |
%p | 上下午 | AM PM |
%r | 时间,12小时制 | hh::mm::ss AM/PM |
%S | 秒 | 00...59 |
%s | 秒,同%S | 00...59 |
%T | 时间,24小时制 | hh::mm::ss |
%U | 周 (00-53) 星期日是一周的第一天 | 00...53 |
%u | 周 (00-53) 星期一是一周的第一天 | 00...53 |
%V | 周 (01-53) 星期日是一周的第一天,与%X搭配使用 | 01...53 |
%v | 周 (01-53) 星期一是一周的第一天,与%x搭配使用 | 01...53 |
%W | 星期名 | Sunday...Saturday |
%w | 一周的日,周日为0 | 0...6 |
%X | 年份,其中的星期日是周的第一天,4 位,与%V搭配使用 | - |
%x | 年份,其中的星期一是周的第一天,4 位,与%v搭配使用 | - |
%Y | 年份,4位 | - |
%y | 年份,2位 | - |
%% | 字符'%' | 字符'%' |
%x | 'x',上述未列出的任意字符 | 字符'x' |

date_format支持的输出格式中,%U、%u、%V、%v、%X、%x暂不支持。

