查询某个时间段的数据常用的方式有
//查询2020-09-18当天
SELECt * FROM t_user WHERe created_time between '2020-09-18 00:00:00' and '2020-09-18 23:59:59'
//查询2020-09-18当天
SELECt * FROM t_user WHERe year(created_time ) = 2020 and month(created_time )= 09 and day(created_time ) = 18
//查询2020-09-17 00:00:00至 2020-09-19 00:00:00
SELECt * FROM t_user WHERe created_time > '2020-09-17' and created_time < '2020-09-19'
//查询2020-09-18当天
SELECt * FROM t_user WHERe ( datediff ( created_time , '2020-09-18' ) = 0 )
mysql还另外提供的方式还有
//今天
select * from 表名 where to_days(时间字段) = to_days(now());
//昨天,前某一天数据直接更改日期差值的结果即可,例如查询前天,差值为2
SELECt * FROM 表名 WHERe DATEDIFF(时间字段,NOW())=-1;
//本周
SELECt * FROM 表名 WHERe YEARWEEK(date_format(时间字段,'%Y-%m-%d')) = YEARWEEK(now());
//上周,同理近几周直接更改对应的周数差值即可
SELECt * FROM 表名 WHERe YEARWEEK(date_format(时间字段,'%Y-%m-%d')) = YEARWEEK(now())-1;
//近7天
SELECt * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段)
//近30天,同理近多少天直接更改对应的天数即可
SELECt * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段)
//本月
SELECt * FROM 表名 WHERe DATE_FORMAT( 时间字段, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
//上月,同理近几个月直接更改对应的月数差值即可
SELECt * FROM 表名 WHERe PERIOD_DIFF( date_format( now( ) , '%Y%m' ) , date_format( 时间字段, '%Y%m' ) ) =1
//本季度
select * from 表名 where QUARTER(时间字段)=QUARTER(now());
//上季度,同理上上季度(2),上上上季度(3),直接更改季度数值
select * from 表名 where QUARTER(时间字段)=QUARTER(DATE_SUB(now(),interval 1 QUARTER));
//本年
select * from 表名 where YEAR(时间字段)=YEAR(NOW());
//去年,同理前年,大前年更改年数即可,前年为2,同理大前年为3
elect * from 表名 where year(时间字段)=year(date_sub(now(),interval 1 year));