日期转换与查询,昨天,今天,过去第n天,过去n天的数据
被人问到尴尬了,整理一下
查询当前时间
SELECT now();
2019-05-06 14:58:27
查询年月日
select CURDATE();
2019-05-06
查询小时分钟秒
select CURTIME();
14:58:27
查询年月日
select DATE_FORMAT(NOW(),'%Y-%m-%d');
2019-05-06
查询完成的时间
select DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s');
2019-05-06 14:58:27
查询明天年月日
SELECT DATE_SUB(CURDATE(),INTERVAL - 1 DAY);
2019-05-07
查询昨天年月日
SELECT DATE_SUB(CURDATE(),INTERVAL 1 DAY);
2019-05-05
如上,上个月,下个月
select DATE_SUB(CURDATE(),INTERVAL 1 MONTH); 2019-04-06
select DATE_SUB(CURDATE(),INTERVAL - 1 MONTH); 2019-06-06
如上,去年,来年
select DATE_SUB(CURDATE(),INTERVAL 1 YEAR); 2018-05-06
select DATE_SUB(CURDATE(),INTERVAL - 1 YEAR); 2020-05-06
表示昨天的数据,若=0则为今天的数据,若为-n表示n天前的当天数据
select id, add_time from record where DATEDIFF(add_time,NOW()) = -1;
查询过去1天包含今天,也就是昨天和今天的数据,若-1改为-n,则为过去n天内的数据
select id, add_time from record where DATEDIFF(add_time,NOW()) <=0 and DATEDIFF(add_time,NOW()) >= -1;
好了,诸君好运
参考:https://blog.csdn.net/libra_ts/article/details/80278766