>=DateAdd("ww",-9,Date()-Weekday(Date(),0)+1))
私が継承したいくつかのSQLコーディングに上記の関数があり、実際に計算しているものを理解するのに苦労しています。誰か助けてもらえますか?
>=DateAdd("ww",-9,Date()-Weekday(Date(),0)+1))
私が継承したいくつかのSQLコーディングに上記の関数があり、実際に計算しているものを理解するのに苦労しています。誰か助けてもらえますか?
部分に分解されたステートメントを使用して、この SQL を検討してください。
これは sql-server 12 でテストされ、Date() 関数の代わりに GETDATE() を使用します。
select
GETDATE() as today,
@@DATEFIRST as first_day_of_the_week_number,
DATEPART(WEEKDAY,GETDATE()) as current_day_number_of_the_week,
GETDATE()-DATEPART(WEEKDAY,GETDATE()) as previous_saturday,
GETDATE()-DATEPART(WEEKDAY,GETDATE())+1 as previous_sunday,
DATEADD("ww",-9,GETDATE()-DATEPART(WEEKDAY,GETDATE())+1) as previous_sunday_9_weeks_back;
したがって、9 週間前の日曜日が返されます。
@@DATEFIRST
が 7 に等しいと仮定していることに注意してください。 が 1 の
場合@@DATEFIRST
、9 週間前の月曜日が返されます。