月曜日の日付を取得

ある日付の月曜日時点の日付を求めたい場合があると思います。やり方はいくつかありますが、その中の一つを紹介します。

DECLARE @varDate datetime
SET @varDate = -- 好きな日付
-- 月曜日付を取得 (月曜ならその日、それ以外なら過去直近の月曜)
select convert(nvarchar(8), @varDate - (datepart(weekday, @varDate) + 5) % 7, 112)

ちょっと長いので、関数にして再利用しましょう。