3

我得到如下表的表值

 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 的值进行分组,例如Apr 18 2013 到 Jun 2 2013。请帮我这样做。

4

2 回答 2

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

如果您在查询运行时需要当前日期,则使用GETDATE()函数而不是'2013-04-25'

于 2013-04-25T06:54:27.143 回答
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)
于 2013-04-25T07:00:59.223 回答