1

昨年のGM%と今年のGM%を比較するために現在使用している2つの現在のSQLクエリがあります。これは私が毎朝実行する日報です。日付の計算はあまりしっかりしておらず、私は別の方法を見つけようとしています。以前は、レポートは月曜日以降のみで、現在の日は含まれないと思っていました(つまり、火曜日に実行した場合は月曜日のみがプルされます。月曜日に実行した場合は何もプルされません)。レポートは月曜日に実行され、彼らは金曜日から日曜日を見たいと思っています。私が検討しているのは、現在の日を除いて、前の5日をプルするように設定することです。(月曜日に実行すると、木、金、土、日が引っ張られます。)問題は、今年の日と昨年の同じ日を比較する必要があることです。これを試した人なら誰でも、これを手に入れるのは簡単ではないことを知っています。これが日付演算の現在のコードです。私は途方に暮れています、私はいくつかの助けを使うことができます。

Where DB1.TB1.CLM1>=Current Date-364 days - (DAYOFWEEK(CURRENT DATE) - 2) DAYS 
      And DB1.TB1.CLM1< Current Date- 364 days
4

1 に答える 1

2

あなたの言うことが正しければ、火曜日に月曜日の統計を引き出すでしょう。水曜日、月~火の統計を取得します。金曜日、月~木を引きます。そして、これらすべてについて、前年の相当する日が必要です。

秘訣は、月曜日に、前の週末、つまり Thu-Sun をプルする必要があるということです。

あなたは日曜日に何をするかを定義していないので、そのケースは省略します。

この WHERE ステートメントを試してください。

where
   ( -- do this after Monday
   dayofweek(current date) > 2 and
   DB1.TB1.CLM1 between ((current date - 364 days) - (dayofweek(current date) - 2) days) and (current_date - 365 days)
   ) 
   or
   ( -- do this on Monday
   dayofweek(current date) = 2 and
   DB1.TB1.CLM1 between (current date - 368 days) and (current date - 365 days)
   ) 
于 2013-02-22T21:19:07.063 に答える