数据包含年月日时分秒,如何只查年月日

在一个群聊里听了一个需求:有一个注册的表,表里存的注册时间是“年-月-日 时:分:秒”格式,现在想知道每天注册的人数。

群里的思路基本都是先把注册时间提取为年-月-日,再统计。当时对这个还比较有兴趣,打算研究一下怎么只提取出年月日。解决这个之后,统计每天注册人数理论上就能写出来了(没再往后试)。

百度上各种办法,看的眼花,找了一个看着比较好理解的试了一下,下面写一下这个办法。

首先建表,为了省事,表里只有一个时间的字段,数据类型我试了一下,datetime、timestamp、varchar类型都可以。往里插入一条数据。

数据包含年月日时分秒,如何只查年月日

语句:select id,date_format(time,"%y-%m-%d") from aaa;

其中date_format就是固定这么写,括号里time是表的字段名,后面ymd可以是大写也可以是小写,下面看一下大小写的区别。

数据包含年月日时分秒,如何只查年月日

这个需求如果再往后写,应该需要用到子查询,MySQL数据库这里有个坑。就是这种虚出来的临时表需要起个别名,不然会报错。