详解Mysql取前一天、前一周、后一天等时间函数
作者:知行合一。。。
本文给大家介绍Mysql取前一天、前一周、后一天等时间函数,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
DATE_SUB()函数的用法
语法:
- 获取当前日期:select curdate()
- 获取当前日期前一天:select date_sub(curdate(),interval 1 day)
- 获取当前日期后一天:select date_sub(curdate(),interval -1 day)
案例:
当前日期的前三十天和后三十天 (DATE_SUB函数本身是减法,用负数就是加)
SELECT * from user where create_time between DATE_SUB(NOW(),INTERVAL 30 day) and DATE_SUB(NOW(),INTERVAL -30 day)
示例
select now();-- 当前时间 --结果: 2018-12-06 20:35:21 select DATE_SUB(now(), INTERVAL 30 DAY);-- 前三十天 --结果: 2018-11-06 20:35:21 select DATE_SUB(now(), INTERVAL -30 DAY);-- 后三十天(函数本身是减法,用负数就是加) --结果: 2019-01-05 20:35:21 select DATE_SUB(now(), INTERVAL 1 month);-- 减去一个月 --结果: 2018-11-06 20:35:21 select DATE_SUB(now(), INTERVAL 1 year);-- 减一年 --结果: 2017-12-06 20:35:21
备注:
SELECT NOW(),CURDATE(),CURTIME()
结果类似:
NOW() | CURDATE() | CURTIME() |
---|---|---|
2016-08-01 16:25:46 | 2016-08-01 | 16:25:46 |
相反的还有 add函数:
set @dt = now();
select date_add(@dt, interval 1 day); – add 1 day
select date_add(@dt, interval 1 hour); – add 1 hour
select date_add(@dt, interval 1 minute); – …
select date_add(@dt, interval 1 second);
select date_add(@dt, interval 1 microsecond);
select date_add(@dt, interval 1 week);
select date_add(@dt, interval 1 month);
select date_add(@dt, interval 1 quarter);
select date_add(@dt, interval 1 year);
日期/时间转换为字符串:
date_format(date,format), time_format(time,format) select date_format('2018-08-11 12:30:00', '%Y %m %d %H%i%s'); # 2018 08 11 123000
字符串转换为日期:
str_to_date(str, format) select str_to_date('08/11/2018', '%m/%d/%Y'); -- 2018-08-11 select str_to_date('08/11/08' , '%m/%d/%y'); -- 2018-08-11 select str_to_date('08.11.2008', '%m.%d.%Y'); -- 2018-08-11 select str_to_date('08:00:30', '%h:%i:%s'); -- 08:00:30 select str_to_date('08.11.2018 08:00:30', '%m.%d.%Y %h:%i:%s');
到此这篇关于Mysql取前一天,前一周,后一天等时间函数的文章就介绍到这了,更多相关mysql时间函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!