2014-06-16 41 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())