我试过寻找一个解决方案,但一直无法找到.
我需要从今天的日期选择最近4周的数据,这不是我刚刚做的问题date >= Dateadd(mm, -1, getdate())
.但是,我也想要与前一年相同的4周数据.但我不想(例如)2010年6月1日至30日和2011年6月1日至30日,我需要
6月30日(星期四)2011年和4周前和7月1日以及4周前7月1日是从前一年的同一周的星期四.
所以将返回8周的数据.
谢谢您的帮助!
Fos*_*sco 16
你可以使用更多的DATEADD()
善良回到上一年:
where theDate >= DATEADD(mm, -1, GETDATE())
OR
(theDate <= DATEADD(week,-52,convert(datetime,GETDATE()))
and
theDate >= DATEADD(mm,-1,DATEADD(week,-52,convert(datetime,GETDATE()))))
Run Code Online (Sandbox Code Playgroud)
从2011年6月30日开始减去52周,按照您的要求减去7/1/2010 ...然后使用原来的1个月减法作为下限.
你也可以把整个东西切换成使用周......
where theDate >= DATEADD(week, -4, GETDATE())
OR
(theDate <= DATEADD(week,-52,convert(datetime,GETDATE()))
and
theDate >= DATEADD(week,-56,convert(datetime,GETDATE())))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
36357 次 |
最近记录: |