我正在尝试运行查询以显示两个日期之间的结果,然后显示相同日期但一年前的结果。这就是我所拥有的 -
where (a.Invdate between '11/1/2015' and '11/30/2015')
最终将使用参数,因此它看起来像
where (a.Invdate between @StartDate and @EndDate)
但我希望能够使用相同的日期范围运行相同的查询,而不是11/1/2014
和11/30/2014
。
我怎样才能实现这个目标?
答案 0 :(得分:0)
DATEADD是执行此操作的最佳方式。你也可以使用日志方式解析每个日期部分:
convert(VARCHAR(2),datepart(mm,'11/30/2015')) + '/' + convert(VARCHAR(2),datepart(dd,'11/30/2015')) + '/' + convert(VARCHAR(4),convert(INTEGER,datepart(yy,'11/30/2015')) - 1) AS newDate
(我投票给你+因为你是新用户),请在下次发表问题时小心