Mysql按时间范围来查询

– 查询今天的数据

select * from user where to_days(birthday) = to_days(CURDATE());

– 查询昨天的数据

select * from user where to_days(CURDATE()) - to_days(birthday)<=1;

– 查询最近7天的数据

select * from user where birthday > DATE_SUB(CURDATE(),INTERVAL 7 DAY);

– 查询最近一个季度的数据

select * from user where birthday > DATE_SUB(CURDATE(), INTERVAL 3 MONTH)

– 最近一年的数据

select * from user where birthday > DATE_SUB(CURDATE(), INTERVAL 1 YEAR);

– 本季度的数据

select * from user where quarter(birthday) = quarter(CURDATE());

– 上季度的数据

select * from user where quarter(birthday) = quarter(DATE_SUB(CURDATE(), INTERVAL 1 QUARTER));

– 查询今年的数据

select * from user where year(CURDATE()) - year(birthday) = 28 ;

– 查询第几月的数据

select * from user where month(birthday) = 8 ;

– 查询某年某月某日的数据

select * from user where date_format(birthday,’%Y-%m-%d’)=‘2017-07-07’;

– 查询制定时间段内的数据(只写到月,会出错)

select * from user where birthday between ‘1888-5-1 00:00:00’ and ‘2017-9-3 00:00:00’;

– 查询制定时间段内的数据(只写到月,会出错)

select * from user where birthday > ‘1989-5-1’ and birthday < ‘2017-5-1’;

发布了17 篇原创文章 · 获赞 11 · 访问量 3024

猜你喜欢

转载自blog.csdn.net/qq_39306992/article/details/102919185