SQL查询 - 计算普通日历年的上周数据

时间:2012-02-28 09:00:32

标签: sql-server date

我必须从表中检索上周的数据。 我使用以下条件。

@prmCurrent_Year=Datepart(year,getdate())

 last_week=case when Datepart(week,col_name)=1 
                then 52 
                else Datepart(week,col_name)-1 and   
                     year_num=case 
                              when Datepart(week,col_name)=1 
                              then @prmCurrent_Year-1 
                              else @prmCurrent_ Year

这会正常工作还是有任何其他更好的查询?

1 个答案:

答案 0 :(得分:2)

这样的事情就足够了:

SELECT *
FROM Table
WHERE MyDate BETWEEN DATEADD(wk, -1, GetDate()) AND GetDate()

MSDN上的DateAdd参考:http://msdn.microsoft.com/en-us/library/ms186819.aspx