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暂不支持。