mysql中时间的使用

1、mysql中获取当前日期

1、SELECT CURRENT_TIMESTAMP()                返回:2021-02-10 15:03:47
2、SELECT CURRENT_TIME()                    返回:15:04:38
3、SELECT CURRENT_DATE()                    返回:2021-02-10
4、SELECT NOW()                                返回:2021-02-10 15:06:33
5、SELECT CURDATE()                            返回:2021-02-10
6、SELECT CURTIME()                            返回:15:08:26
7、SELECT SYSDATE()                            返回:2021-02-10 15:09:01

 

 

2、如果想获取一天前的日期,在Oracle中使用sysdate()-1就可以了(也就是说Oracle是按1天为单位的)。但是在mysql中使用now()-1,最终得到的结果是一秒前的日期(即mysql是按照1秒为单位的)

并且now()-1得到的结果并不是格式化的结果,因此还需要使用DATE_FORMAT()来格式化日期格式。

例如:

SELECT NOW(),DATE_FORMAT(NOW()-1,'%Y-%m-%d %H:%i:%s') new_now       返回:2021-02-15 16:03:04      2021-02-15 16:03:03 相差一秒

格式化字段代表意思:参考:https://www.cnblogs.com/shuilangyizu/p/8036620.html

 

如果想要获取到1天前的数据,使用如下写法即可,并且不需要格式化

SELECT NOW(),NOW()-INTERVAL 1 DAY

INTERVAL 1 DAY是相隔1天的意思

除了1天,还有一个月、一年、一小时、一分钟等等

INTERVAL 1 XXX    (XXX代表YEAR年、MONTH月、DAY日等等)

 

因此使用时间段查询的时候,就可以使用INTERVAL来获取时间段范围

SELECT * FROM user WHERE create_date BETWEEN NOW()- INTERVAL 2 MONTH AND NOW()

上面sql为,获取这两个月添加的用户的意思。

上一篇:56. 合并区间


下一篇:Fall 2020 Berkeley cs61a hw03答案