英国ベースのプロジェクトに取り組んでいます。
素敵な変数を入れて、月曜日から金曜日までの最終営業日の開始日と終了日を教えてくれます。残念ながら、開始日時を一日の始まりにし、終了日を一日の終わりにしたかったのです。これを実現するには、どのような変更を加えることができますか?
SET @Startdate =
( CASE
WHEN DATEPART(WEEKDAY, @Startdate) = 7
THEN DATEADD(DAY, -2, @Startdate)
WHEN DATEPART(WEEKDAY, @Startdate) = 1
THEN DATEADD(DAY, (-2 - DATEPART(WEEKDAY, @Startdate)), @Startdate)
ELSE
DATEADD(DAY, -1, @Startdate)
END )
SET @Enddate =
CASE
WHEN DATEPART(WEEKDAY, @Enddate) = 7
THEN DATEADD(DAY, -2, @Enddate)
WHEN DATEPART(WEEKDAY, @Enddate) = 1
THEN DATEADD(DAY, (-2 - DATEPART(WEEKDAY, @Enddate)), @Enddate)
ELSE
DATEADD(DAY, -1, @Enddate)
END
print @Startdate
print @Enddate
結果 :
2013 年 2 月 26 日 午前 0 時
2013 年 2 月 26 日 午前 0 時
Feb 26 2013 00:00
までが必要なFeb 27 2013 00:00
ので、火曜日の終日 (今日実行する場合は最終営業日) をカバーします。