MSSQL (SAP Business One 用) でクエリを作成して、特定の日付範囲 ([日付] と [日付] の間を使用) の売上と利益を、昨年の同じ日付範囲の売上と利益と比較していますが、私はそれを行う方法がわかりません。
日付範囲に次のコードを使用しています。
WHERE t1.docdate between '[%1]' and '[%2]'
ありがとうございました
MSSQL (SAP Business One 用) でクエリを作成して、特定の日付範囲 ([日付] と [日付] の間を使用) の売上と利益を、昨年の同じ日付範囲の売上と利益と比較していますが、私はそれを行う方法がわかりません。
日付範囲に次のコードを使用しています。
WHERE t1.docdate between '[%1]' and '[%2]'
ありがとうございました
昨年と同じ日付範囲のデータが必要な場合は、次の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