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为,获取这两个月添加的用户的意思。