MySQL的date_format函数是一个用来格式化日期的函数,它可以将日期从一种格式转换为另一种格式。它接受两个参数:date_expression和format_string。date_expression是一个表达式,可以是一个日期字符串,一个日期时间值,一个日期时间戳,或者是一个表达式,它可以表示一个日期时间。format_string是一个格式字符串,它用来定义输出的日期格式。
date_format函数的使用方法如下:
SELECT DATE_FORMAT(date_expression, format_string) FROM table_name WHERE condition;
示例
下面是一个例子,它将一个日期从yyyy-mm-dd格式转换为dd-mm-yyyy格式:
SELECT DATE_FORMAT('2020-06-05', '%d-%m-%Y') AS 'Date';
运行上面的SQL语句,将得到以下结果:
+----------+ | Date | +----------+ | 05-06-2020| +----------+
另一个例子,它将一个日期从yyyy-mm-dd格式转换为dddd格式:
SELECT DATE_FORMAT('2020-06-05', '%W') AS 'Day';
运行上面的SQL语句,将得到以下结果:
+--------+ | Day | +--------+ | Friday | +--------+
格式字符串
MySQL的date_format函数使用格式字符串来定义输出格式。下表列出了一些常用的格式字符串:
- %a:缩写的星期几名称(如Sun)
- %b:缩写的月份名称(如Jan)
- %c:月份,数字形式(从1开始)
- %d:月中的第几天,数字形式(从1开始)
- %D:月中的第几天,带有前导零的数字形式(从01开始)
- %e:月中的第几天,数字形式(从1开始)
- %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)
- %m:月份,数字形式(01-12)
- %p:AM或PM
- %r:时间,12小时格式(如12:45:56 PM)
- %S:秒(00-59)
- %s:秒(00-59)
- %T:时间,24小时格式(如23:45:56)
- %U:星期,数字形式(00-53),星期天为星期的开始
- %u:星期,数字形式(00-53),星期一为星期的开始
- %V:ISO 8601 格式的星期(01-53),星期一为星期的开始
- %v:ISO 8601 格式的星期(01-53),星期天为星期的开始
- %W:星期几的完整名称(如Sunday)
- %w:星期几,数字形式(0=星期天,6=星期六)
- %Y:年,4位数字形式(如2020)
- %y:年,2位数字形式(如20)