来自【http://www.cnblogs.com/xiachufeng/archive/2011/03/18/1988218.html】
SQLServer查询最近一天,三天,一周,一月,一季度方法:
一天 select * from T_news where datediff(day,addtime,getdate())=0
三天 select * from T_news where datediff(day,addtime,getdate())<= 2 and datediff(day,addtime,getdate())>= 0
一周
select * from T_news WHERE (DATEPART(wk, addtime) = DATEPART(wk,
GETDATE())) AND (DATEPART(yy, addtime) = DATEPART(yy, GETDATE()))
注意:此时周计算方式是以周日为第一天开始算的
此时不能用 datediff 差值为7,因为,datediff只表示间隔数。
一月
select * from T_news WHERE (DATEPART(yy, addtime) = DATEPART(yy,
GETDATE())) AND (DATEPART(mm, addtime) = DATEPART(mm, GETDATE()))
一季度
select * from T_news where DATEPART(qq, addtime) = DATEPART(qq,
GETDATE()) and DATEPART(yy, addtime) = DATEPART(yy, GETDATE())