我有一个T-SQL问题 - 我正在使用SQL-Server 2012:
我有一个varchar 日历周列(1-52)。在我的where子句中,我只想选择从当前年度的当前日历周返回的最后 6周。我还有一个年份varchar列,其值为“2011”,“2012”和“2013”。
但现在我正在努力为where子句设置表达式。
或者我需要一个Having子句来完成这项工作吗?
我试过这样的话:
Having Calendarweek BETWEEN max(Calendarweek)-6 AND max(Calendarweek) AND Year=2013
但它会返回所有周。
希望你能帮我解决这个问题。 谢谢。
答案 0 :(得分:1)
试试这个
where Year ='2013'
and CAST(Calendarweek AS INT) >= datepart(week,getdate())-6