前の週の最終日を決定する柔軟な方法を作成しようとしています。これは、計画週が異なるさまざまな環境で実行されることを知っています (一部の顧客は、土金、日土、月日を使用します)。各顧客の週の開始日として使用する変数を作成することを計画していました (以下を参照)。
Set @BeginningWeek = 1 -- 1=Mon; 2=Tues; 3=Wed; 4=Thurs; 5=Fri; 6=Sat; 7=Sun
上記の変数とともに、dateadd と datepart の組み合わせを使用して、前の最後の曜日を取得しようとしましたが、ロジックに問題があります。私は Set DateFirst を使用したくありません。これらのスクリプトは顧客の環境で実行されるため、DB で何も変更したくありません。
スクリプトが水曜日 (9/3) に実行されると仮定します。顧客の計画週は土-金です。別の変数 @EndDate = 前の金曜日 (8/29) を設定したいと思います。計画週が月曜日から日曜日で、@EndDate = 前の日曜日 (8/31) に設定されている別の顧客と同じスクリプト (@BeginningWeek 値のみを変更) を使用する柔軟性が必要です。