我在 MSSQL(针对 SAP Business One)中创建了一个查询,以将给定日期范围(使用 [日期] 和 [日期] 之间)的销售额和利润与去年同一日期范围的销售额和利润进行比较,但是我不知道该怎么做。
我对日期范围使用以下代码:
WHERE t1.docdate between '[%1]' and '[%2]'
谢谢你
我在 MSSQL(针对 SAP Business One)中创建了一个查询,以将给定日期范围(使用 [日期] 和 [日期] 之间)的销售额和利润与去年同一日期范围的销售额和利润进行比较,但是我不知道该怎么做。
我对日期范围使用以下代码:
WHERE t1.docdate between '[%1]' and '[%2]'
谢谢你
如果您想要去年相同日期范围的数据,您有两种选择:
WHERE dateadd(year, 1, t1.docdate) between '[%1]' and '[%2]'
或者
WHERE t1.docdate between dateadd(year, -1, '[%1]') and dateadd(year, -1, '[%2]')
笔记:
between
约会的观点。但是,我将按原样保留逻辑,因为这就是 oP 提出问题的方式。dateadd(year,-1,[date])
在 SQL Server 中使用 DATEADD 添加和减去日期
请注意使用的含义between
,如下所示:要踢的坏习惯:错误处理日期/范围查询 - Aaron Bertrand - 2009-10-16