2014-06-16 73 views
0

我能夠獲得本週的記錄。如何獲取上週的記錄?

但我想上週的記錄:

我的代碼至今:

select * from T1 
where WorkDate >= dateadd(day, 1-datepart(dw, getdate()), CONVERT(date,getdate())) 
AND WorkDate < dateadd(day, 8-datepart(dw, getdate()), CONVERT(date,getdate())) 
+1

你到目前爲止試過了什麼?你的網絡搜索的結果是什麼,需要澄清的是什麼? 「周」意味着什麼? (從現在開始還是從星期一到星期日?)請編輯您的問題並提供一些其他信息。也請閱讀此:http://stackoverflow.com/help/how-to-ask – Pred

+1

你有沒有嘗試http://stackoverflow.com/questions/7153687/always-return-data-from-last-weeks-monday-通過星期日 – Hitesh

回答

1

我認爲這對你的工作[更改表到你]

SELECT M.[mId],M.[mName],M.mInsertDate 
    FROM dbo.TblMusic M 
    WHERE DATEPART(ww,M.[mInsertDate])=DATEPART(ww,GETDATE()-7) 
    ORDER BY M.mInsertDate DESC 
+0

該代碼假設年份並不重要。 DATEPART(ww,GETDATE() - 7)等於DATEPART(ww,GETDATE() - 365-7),因爲每年的週數都是相同的。而且,最重要的是,這個問題是7153687的重複。 – milivojeviCH

1
declare @t table 
(
    id int primary key, 
    created_date date, 
    data varchar(10) 
) 

insert into @t values (1,'2012-01-01','testing'); 

SELECT Created_Date 
FROM @t 
WHERE Created_Date >= DATEADD(day,-11117, GETDATE()) 

SELECT Created_Date 
FROM Table_Name 
WHERE Created_Date >= DATEADD(day,-7, GETDATE())