介绍
时间格式为 YYYY-MM-DD hh,默认精确到秒
ss
5.7 之后的版本,在默认的秒精确度上,可以带小数,最多带6位小数,即可以精确到 microseconds (6 digits) precision。
和TIMESTAMP 区别
- 时间范围不一样,TIMESTAMP 要小很多 ,且最大范围为2038-01-19 03:14:07.999999,到期也不远了。
- 对于TIMESTAMP,它把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转化为客户端当前时区进行返回。而对于DATETIME,不做任何改变,基本上是原样输入和输出。
查询DATETIME类型字段
用DATE_FORMAT()函数格式化输出,返回字符串类型
参见:https://www.malaoshi.top/show_1EF6OJePtppI.html
select DATE_FORMAT(update_time,'%Y-%m-%d') from goods
作为查询条件
直接查询
SELECT * FROM goods AS a WHERE
'2020-10-02 00:00:00' <=a.update_time AND a.update_time<= '2020-10-02 23:59:59'
使用STR_TO_DATE() 函数查询
SELECT * FROM goods AS a WHERE
STR_TO_DATE('2020-10-03 0:0:0','%Y-%m-%d %H:%i:%s') <=a.update_time AND a.update_time<= STR_TO_DATE('2020-10-03 23:59:59','%Y-%m-%d %H:%i:%s')
使用DATE_FORMAT() 函数查询
SELECT * FROM goods AS a WHERE
DATE_FORMAT('2020-10-03 0:0:0','%Y-%m-%d %H:%i:%s') <=a.update_time AND a.update_time<= DATE_FORMAT('2020-10-03 23:59:59','%Y-%m-%d %H:%i:%s')