2013-04-25 28 views
3

我得到的表值如下面表格如何在sql中按星期分组数据?

Name   City    Date 
    a    1    Mar 22 2013 
    b    2    Apr 19 2013 
    c    3    Apr 20 2013 
    d    4    Apr 22 2013 
    e    5    Apr 27 2013 
    f    6    Apr 30 2013 
    g    7    Jun 5 2013 

我有像上表中的值。今天的日期是2013年4月25日。我需要将这些值从+7和-7分组,如2013年4月18日至2013年6月2日。请帮我做到这一点。

回答

3
select * from yourTable 
where DATEDIFF(day,'2013-04-25',[Date]) between -7 and 7 

如果需要查询时,正在运行,然后使用GETDATE()函数代替'2013-04-25'

+0

非常感谢您当前的日期.. – soundy 2013-04-25 07:09:17

3

根据当前的日期是动态创建的调理

SELECT * 
FROM dbo.yourTable 
WHERE Date >= DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE())-7, 0) 
    AND Date < DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE())+8, 0)