寻找获取日期范围为特定日期+/- 3天的列的快捷方式。我还没有找到一个优雅的捷径。我的前提可能不对,我还没有找到在DATEADD()的增量参数中具有一系列值的方法,但这就是我要做的要点。
SELECT
DATEADD(dd, BETWEEN -3 AND 3, x.myDate) [Dates]
FROM
myTable x
我知道这行不通,但想知道是否有等效的快捷方式来获取所需日期。
答案 0 :(得分:4)
要构建日期范围,可以使用提示表或行构造器:
SELECT *,
DATEADD(dd, s.c, x.myDate) [Dates]
FROM myTable x
CROSS APPLY (VALUES (-3),(-2),(-1),(0),(1),(2),(3)) s(c);
答案 1 :(得分:0)
尝试类似的东西:
DECLARE @targetDate DATETIME = target
SELECT
x.myDate [Dates]
FROM
myTable x
WHERE
DATEDIFF(dd, x.MyDate, @targetDate) BETWEEN 3 AND -3