如何在MSSQL中使用减去1年的日期范围?

时间:2017-01-04 16:46:06

标签: sql sql-server sapb1

我正在MSSQL(针对SAP Business One)创建一个查询,以比较给定日期范围(使用[日期]和[日期]之间)的销售额和利润与最后一个日期范围内的销售额和利润一年,但我不知道该怎么做。

我在日期范围内使用以下代码:

WHERE t1.docdate between '[%1]' and '[%2]'

谢谢

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

如果您希望数据的日期范围最后年,则有两种选择:

WHERE dateadd(year, 1, t1.docdate) between '[%1]' and '[%2]'

WHERE t1.docdate between dateadd(year, -1, '[%1]') and dateadd(year, -1, '[%2]')

注意:

  • 在第一种情况下,您在日期中添加一年,而不是减去一年。
  • 参数看起来很奇怪,但我不熟悉SAP格式。
  • 我非常同意Aaron关于避免between约会的问题。但是,我之所以离开逻辑是因为这就是oP如何表达这个问题。