我需要写一个视图,我需要选择日期介于今天和+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
你可以建议吗?答案 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)