【问题标题】:SQL Query Ran By Date Minus 1 YearSQL 查询按日期减去 1 年运行
【发布时间】:2016-03-13 12:23:14
【问题描述】:

我正在尝试运行查询以显示两个日期之间的结果,然后显示同一日期但一年前的结果。这就是我所拥有的-

where (a.Invdate between '11/1/2015' and '11/30/2015')

最终会使用参数,所以它看起来像

where (a.Invdate between @StartDate and @EndDate)

但我希望能够在相同的日期范围内运行相同的查询,但改为使用 11/1/201411/30/2014

我该如何实现这一目标?

【问题讨论】:

标签: sql sql-server date


【解决方案1】:

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

(我投票给你+因为你是新用户)下次请小心然后发布问题

【讨论】:

    猜你喜欢
    • 2010-12-31
    • 1970-01-01
    • 2011-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-16
    • 1970-01-01
    相关资源
    最近更新 更多