查询在2周之前获取所有数据

时间:2016-01-24 19:59:37

标签: sql sql-server sql-server-2008

请您帮我查询一下,以检索创建日期早于2周的缺陷数据。我知道以下查询可以帮助我获取数据。

select Defect_ID, Assigned_to, created_DATE 
from BUG
where created_DATE < dateadd(week,-2,getdate());

但这里棘手的部分是,当我说2个星期之前我的意思是,说今天是1月25日星期一,我需要在今天前2周的数据,我需要1月18日之前的数据。我的意思是什么这是本周有1月25日的数据,上周有1月18日至1月24日的数据。因此,当我说2周之前,我并不是指14天,而是除了本周和上周。

所以我需要一个适用于一周中任何一天的查询,并向我提供不包括当前周和前一周的数据。周endind总是一个星期天。

2 个答案:

答案 0 :(得分:0)

您可以减去星期几,然后减去1周:

select Defect_ID, Assigned_to, created_DATE 
from BUG
where created_DATE < dateadd(day, - (7 + day(getdate())), getdate()) ;

这可能不是你想要的,但它应该让你走上正确的道路。

答案 1 :(得分:0)

  

声明@datetoday date =&#39; 2016年1月25日&#39; - 或getdate()

     

从BUG中选择Defect_ID,Assigned_to,created_DATE   created_DATE&lt; DATEADD(天,-14,@ datetoday)

并不真正了解您的查询,但值得一试。