MySQL笔记十三之时间格式化date_format

本文首发于公众号:Hunter后端

原文链接:MySQL笔记十三之时间格式化date_format

这一篇笔记介绍如何对 MySQL 中的时间字段进行格式化处理。

根据前一篇笔记的内容,现在我们对 book 表添加一个时间字段,created_time:

alter table book add column created_time datetime default null;

上面的语句我们对 book 表添加了 created_time 字段,字段类型为 datetime,默认值为 null。

对于一个时间字段,形式可能是 timestamp 时间戳格式,也可能是 '年-月-日 时:分:秒' 格式。

如果我们仅仅想查看年份、月份、或者时间,就需要对字段的数据进行格式化处理,或者在 group by 分组的时候进行统计需要对时间进行统一的处理。

MySQL 的时间格式化函数有两种,一个是 date_format,一种是 time_format。

但是 time_format 只支持对时分秒的处理,对年月日的日期不生效,而 date_format 则适用性更广,年月日时分秒都可,所以我们来介绍 date_format 的处理方法。

首先我们插入两条数据:

insert into book (book_name, author, created_time) values('mysql', 'mysql_author', '2022-05-04 14:23:15'), ('python', 'python_author', '2022-06-11 22:13:56');

然后 MySQL 里对时间的格式化的年月日时分秒的处理是 '%Y-%m-%d %H:%i:%s'

注意: 在分钟的处理上,和 Python 的处理是不一样的。

然后我们如果要获取年份、年月日,小时的处理见下:

select date_format(created_time, '%Y'), date_format(created_time, '%Y-%m-%d'), date_format(created_time, '%H') from book; 

就可以看到相应的数据的输出:

| 2022                            | 2022-05-04                            | 14                              |
| 2022                            | 2022-06-11                            | 22                              |

如果想获取更多相关文章,可扫码关注阅读:
image.png

你可能感兴趣的:(MySQL笔记十三之时间格式化date_format)