MySQL中格式化日期详解
MySQL中,使用DATE_FORMAT()函数能够将日期、时间类型的数据格式化为我们需要的字符串格式。
语法
DATE_FORMAT(date,format)
其中,date为MySQL中日期、时间类型的字段或表达式,format为日期、时间格式字符串。
格式化语法
格式符号 | 含义 |
---|---|
%Y | 四位数字的完整年份 |
%y | 两位数字的年份 |
%m | 数字表示的月份(有前导0) |
%c | 数字表示的月份(没有前导0) |
%d | 月份中的第几天(有前导0) |
%e | 月份中的第几天(无前导0) |
%H | 小时(24小时制,有前导0) |
%k | 小时(24小时制,无前导0) |
%h | 小时(12小时制,有前导0) |
%l | 小时(12小时制,无前导0) |
%i | 分钟(有前导0) |
%s | 秒(有前导0) |
%p | AM或PM |
%w | 数字表示的星期几(0表示星期天,6表示星期六) |
%a | 缩写表示的星期几(Sun-Sat) |
%W | 完整表示的星期几(Sunday-Saturday) |
%b,%h | 缩写表示的月份(Jan-Dec) |
%M | 完整表示的月份(January-December) |
%cst%Z | 区域时间 |
%Y-%m-%d | 年-月-日 |
%Y-%m-%d %H:%i | 年-月-日 时:分 |
%Y-%m-%d %T | 年-月-日 时:分:秒 |
%Y/%m/%d | 年/月/日 |
%d.%m.%Y | 日.月.年 |
示例
下面是两个示例,我们假设有一个表t,其中有一个字段是birthday,类型为DATE类型。
示例1
我们需要将birthday字段按照年-月-日的格式输出,可以使用如下SQL语句:
SELECT DATE_FORMAT(birthday,'%Y-%m-%d') as birthday FROM t;
输出结果如下:
birthday
1990-01-01
1991-02-02
1992-03-03
...
示例2
我们需要在birthday值的基础上增加年龄字段的输出,前面仍然是年-月-日的时间格式,后面是年龄数值,可以使用如下SQL语句:
SELECT CONCAT(DATE_FORMAT(birthday,'%Y-%m-%d'),' ',YEAR(CURDATE())-YEAR(birthday)) AS birthday FROM t;
输出结果类似如下:
birthday
1990-01-01 31
1991-02-02 30
1992-03-03 29
...
总结
DATE_FORMAT()函数是MySQL中日期、时间格式化的重要函数,其格式符号构成了丰富的日期、时间格式化语法。使用DATE_FORMAT()函数能够帮助我们将日期、时间类型的数据转换为我们所需要的字符串。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mysql中格式化日期详解 - Python技术站