SqlServe查询日期时间范围条件

时间:2025-03-18 11:57:37

查询日期时间范围条件:

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();