查询日期时间范围条件:
sqlserver
–查询24小时内的:
select * from info where DateDiff(hh,datetime,getDate())<=24
–查询当天:
select * from info where DateDiff(dd,datetime,getDate())=0
–本周记录(从周日开始到周六)
SELECT * FROM 表 WHERE DateDiff(week,datetime,getDate())=0
–本月记录
SELECT * FROM 表 WHERE DateDiff(month,datetime,getDate())=0
mysql
– 今天
select * from 表名 where to_days(时间字段名) = to_days(now());
– 本周 YEARWEEK(now(),1) 后面的1表示从周几开始 0表示这周从周日开始算 以此类推
select * from 表名 where YEARWEEK(date_format(时间字段名,‘%Y-%m-%d’),1) = YEARWEEK(now(),1);
– 本月
SELECT * FROM 表名 WHERE DATE_FORMAT(时间字段名, ‘%Y%m’) = DATE_FORMAT( CURDATE( ) , ‘%Y%m’)
注释:datetime为要查询的时间字段
TP6框架获取
// 获取当日的数据
Db::table(‘table’)->whereTime(‘create_time’, ‘today’)->select();
// 获取昨天的数据
Db::table(‘table’)->whereTime(‘create_time’, ‘yesterday’)->select();
// 获取本周的数据
Db::table(‘table’)->whereTime(‘create_time’, ‘week’)->select();
// 获取上周的数据
Db::table(‘table’)->whereTime(‘create_time’, ‘last week’)->select();
// 获取本月的数据
Db::table(‘table’)->whereTime(‘create_time’, ‘month’)->select();
// 获取上月的数据
Db::table(‘table’)->whereTime(‘create_time’, ‘last month’)->select();
// 获取今年的数据
Db::table(‘table’)->whereTime(‘create_time’, ‘year’)->select();
// 获取去年的数据
Db::table(‘table’)->whereTime(‘create_time’, ‘last year’)->select();