SQL日期在今天和之后的7天之间

时间:2018-04-12 09:10:01

标签: sql-server

我需要写一个视图,我需要选择日期介于今天和+7天之间的所有元素。

我有例如:

2018年11月30日
   2018年6月30日
2018年10月31日
  2018年5月31日
   2018年4月16日
  2018年4月12日
  2018年4月2日

从这个列表中我只需要这两个元素:

2018-04-16

2018-04-12

我已经尝试过这样:

 WHERE sl.GettingBackDate > CAST(DATEADD(DAY, -7, GETDATE()) as DATE)

但这会返回日期大于今天的所有元素

WHERE sl.GettingBackDate BETWEEN DATEADD(DAY,-7,GETDATE()) AND GETDATE()

这不会返回任何元素

我创建了一个SQLFiddle - http://sqlfiddle.com/#!18/27d5c/2

你可以建议吗?

2 个答案:

答案 0 :(得分:2)

您可以在条件

中添加以下内容
WHERE 
    sl.GettingBackDate >= CONVERT(DATE, GETDATE()) AND 
    sl.GettingBackDate <= CONVERT(DATE,DATEADD(DAY,7,GETDATE()))

答案 1 :(得分:1)

使用此双重过滤器。

WHERE 
    sl.GettingBackDate >= CONVERT(DATE, GETDATE()) AND -- From today onwards
    sl.GettingBackDate < CONVERT(DATE, GETDATE() + 8) -- Less than 8 days from now (strict)