MySQL DATE_FORMAT() 用法与实例
在 MySQL 中,DATE_FORMAT()
函数用于将给定的日期或日期时间表达式输出为给定的格式。
发布于
在 MySQL 中,DATE_FORMAT()
函数用于将给定的日期或日期时间表达式输出为给定的格式。
例如, 2023-01-31 02:00:00
可以输出为 2023/01/31 02:00:00
。
语法
您可以使用以下语法:
DATE_FORMAT(date, format)
date
是要格式化的日期。
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 |
十二小时制时间 (hh:mm:ss 后跟 AM 或 PM ) |
%S |
秒 (00 ..59 ) |
%s |
秒 (00 ..59 ) |
%T |
二十四小时制时间 (hh:mm:ss ) |
%U |
一年中的星期 (00 ..53 ), 每周的开始是星期天; WEEK() 函数中的 mode 0 |
%u |
一年中的星期 (00 ..53 ), 每周的开始是星期一; WEEK() 函数中的 mode 1 |
%V |
一年中的星期 (01 ..53 ), 每周的开始是星期天; WEEK() 函数中的 mode 2, 用于 %X |
%v |
一年中的星期 (01 ..53 ), 每周的开始是星期一; WEEK() 函数中的 mode 3, 用于 %x |
%W |
星期的名称 (Sunday ..Saturday ) |
%w |
星期中的每天 (0 =星期天..6 =星期六) |
%X |
一年中的星期,每周的开始是星期天,四位数字,用于 %V |
%x |
一年中的星期,每周的开始是星期一,四位数字,用于 %v |
%Y |
四位数字年份 |
%y |
两位数字年份 |
%% |
转义 % |
%x |
x , 上面为列举的其他字符 |
基本示例
下面的示例展示了 MySQL DATE_FORMAT()
函数的基本用法:
SELECT DATE_FORMAT('2023-01-31', '%Y/%m/%d');
输出:
+---------------------------------------+
| DATE_FORMAT('2023-01-31', '%Y/%m/%d') |
+---------------------------------------+
| 2023/01/31 |
+---------------------------------------+
输出工作日与月份
SELECT DATE_FORMAT('2023-01-31', '%W, %M %Y');
输出:
+----------------------------------------+
| DATE_FORMAT('2023-01-31', '%W, %M %Y') |
+----------------------------------------+
| Tuesday, January 2023 |
+----------------------------------------+
日期和时间
MySQL DATE_FORMAT()
函数允许您使用日期和时间值。
SELECT DATE_FORMAT('2023-01-31 01:02:03', '%r, %W, %M %Y');
输出:
+-----------------------------------------------------+
| DATE_FORMAT('2023-01-31 01:02:03', '%r, %W, %M %Y') |
+-----------------------------------------------------+
| 01:02:03 AM, Tuesday, January 2023 |
+-----------------------------------------------------+