2010-06-05 157 views
0

我有一個表列:如何從今天獲得最後weeek日期最近7天的約會

Registereddate   orgid 

2010-06-05 10:16:00  1 
2010-06-05 10:10:00  2 
2010-06-04 22:31:00  3 
...      . 
.      ..... 
. 
. 
. 

我需要得到的只有最後weeek日期和ORGID從今天到過去7天的日期..

+1

您能舉一個預期輸出的例子嗎? – 2010-06-05 10:38:36

回答

3

事情是這樣的:

select Registereddate, orgid 
from your_table 
where Registereddate > DATEADD(day, -7, GETDATE()) 
and DATEPART(week, Registereddate) = DATEPART(week, GETDATE()) 

這個查詢將返回其註冊日期的所有記錄當前日期/時間之前不遲於7天。

如果你不想小時,考慮到這樣做,那麼嘗試這樣的事情(僅適用於2008年因最新數據類型施法):

select Registereddate, orgid 
from your_table 
where Registereddate > DATEADD(day, -7, cast(GETDATE() as date)) 
and DATEPART(week, Registereddate) = DATEPART(week, GETDATE()) 

這裏是沒有時間的版本爲2005年:

select Registereddate, orgid 
    from your_table 
    where Registereddate > DATEADD(day, -7, CONVERT(datetime, CONVERT(char(10), GETDATE(), 
101))) 

and DATEPART(week, Registereddate) = DATEPART(week, GETDATE()) 
+0

感謝您的回覆。但是這給了我7天前的整個日期。如果上週兩天沒有完成註冊,則需要在前兩週進行。但是我需要上週的日期,而不是上週的日期。 – Innova 2010-06-05 10:46:22

+0

噢,我明白了,所以除了在一週的最後一天,你不想要整整一週的時間才能退回,那是什麼意思? – 2010-06-05 10:50:57

+0

我已更新查詢,以便只返回當前周的記錄。 – 2010-06-05 10:56:16

相關問題