0

我有一个 T-SQL 问题 - 我正在使用 SQL-Server 2012:

我有一个 varchar日历周专栏(1-52)。在我的 where 子句中,我只想选择从当年当前日历周开始的最后6 周。我还有一个年份 varchar 列,其值为“2011”、“2012”和“2013”​​。

但现在我正在努力为 where 子句设置表达式。

还是我需要一个 Have 子句来完成这项工作?

我试过这样:

Having Calendarweek BETWEEN max(Calendarweek)-6 AND max(Calendarweek) AND Year=2013

但它会返回所有星期。

希望你能帮我解决这个问题。谢谢你。

4

1 回答 1

1

试试这个

where Year ='2013'
and CAST(Calendarweek AS INT) >= datepart(week,getdate())-6 
于 2013-03-07T09:47:19.507 回答