Sql 查询以获取2周前的所有数据

Sql 查询以获取2周前的所有数据,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,您能帮我查询检索创建日期在2周之前的缺陷数据吗。我知道下面的查询可以帮助我获取数据 select Defect_ID, Assigned_to, created_DATE from BUG where created_DATE < dateadd(week,-2,getdate()); 选择缺陷ID、分配给、创建日期 来自臭虫 其中created_DATE

您能帮我查询检索创建日期在2周之前的缺陷数据吗。我知道下面的查询可以帮助我获取数据

select Defect_ID, Assigned_to, created_DATE 
from BUG
where created_DATE < dateadd(week,-2,getdate());
选择缺陷ID、分配给、创建日期
来自臭虫
其中created_DATE
但这里棘手的部分是,我说2周前,我的意思是,今天是1月25日星期一,我需要今天2周前的数据,我需要1月18日之前的数据。我在这里的意思是,本周只有1月25日的数据,而前一周有1月18日至1月24日的数据。因此,当我说2周之前,我不是指14天,而是指不包括本周和前一周的天数


因此,我需要一个查询,将工作的任何一天的一周,给我的数据不包括本周和前一周。Week endind始终是星期日。

您可以减去一周中的某一天,然后减去一周:

select Defect_ID, Assigned_to, created_DATE 
from BUG
where created_DATE < dateadd(day, - (7 + day(getdate())), getdate()) ;
选择缺陷ID、分配给、创建日期
来自臭虫
其中创建日期
这可能不是你想要的,但它应该让你走上正确的道路

声明@datetoday日期='2016年1月25日'--或getdate()

选择缺陷ID、分配给、创建日期 创建日期<日期添加(天,-14,@datetoday)


我不太理解您的查询,但值得一试。

可能重复感谢您的查询。它真的帮助我以不同的方式思考,并得到我需要的答案。