日付列の値が過去 7 日間以内の一連のレコードを合計するデータベース ビューを作成しています。次のようになります。
CREATE VIEW RecentRecordSum AS
SELECT t.ID,
SUM(t.SomeValue) AS ValueSum
FROM SomeTable t
WHERE t.RecordDate >= DATEADD(d,-7,GETDATE())
GROUP BY t.ID
GETDATE() を where 句に直接入れずにこれを行う方法はありますか?
SQL Server 2000 および 2005 を使用しています。
クエリ プランを見ると、getdate() 呼び出しのコストはクエリ全体の 0.03% にすぎないことがわかります (これは上記のものよりもかなり複雑です)。したがって、パフォーマンスは問題ではありませんが、クエリを決定論的にするのが好きです。 .
理想的には、-7 パラメーターを列として公開して、ビューを照会する何かの where 句で使用できるようにしたいと考えています。現在、7 日、14 日、28 日ウィンドウの少数のビューを検討しています。