mysql-按时间查询

以下使用的字符串time为自定义名字的字段
-- 今天
select*from time_test where to_days(time)=to_days(now());


-- 昨天
select*from time_test where datediff(time,now())=-1;


-- 本周
select * from time_test where yearweek(date_format(time,'%Y-%m-%d'))=yearweek(now());


-- 上周
select * from time_test where yearweek(date_format(time,'%Y-%m-%d'))=yearweek(now())-1;


-- 本月
select * from time_test where date_format(time,'%Y%m')=date_format(curtime(),'%Y%m') order by time;


-- 上个月
select * from time_test where 
period_diff(
date_format(now(),'%Y%m') , date_format(time,'%Y%m') 
)=1 order by time

-- 近7天
select * from time_test where date_sub(curdate(),interval 7 day) <=date(time) order by time


-- 近30天
select * from time_test where date_sub(curtime(),interval 30 day) <= date(time) order by time


-- 本季度
select * from time_test where quarter(time)=quarter(now()) order by time


-- 上季度
select * from time_test where quarter(time)=quarter( 
date_sub( now(),interval 1 quarter ) 
)


-- 本年
select * from time_test where year(time)=year(now()) order by time;


-- 去年
select * from time_test where year(time)=year(date_sub(now(),interval 1 year)) order by time;

猜你喜欢

转载自blog.csdn.net/weixin_41791956/article/details/80564102