[SQL SERVER] 指定日付が含まれる週の日曜日~土曜日の日付を取得する方法

指定した日付が含まれる週の日曜日と土曜日の日付を取得が必要な時があります。
Weekly統計を集計する時良く使います。

DECLARE @LogDate date

SET @LogDate = '2018-12-20'

DECLARE @StartDate date
DECLARE @EndDate date

--日曜日~土曜日
SET @StartDate = DATEADD(DD,CASE WHEN DATEPART(dw,@LogDate) = 7 THEN -6 ELSE 1-DATEPART(dw,@LogDate) END, @LogDate)
SET @EndDate = DATEADD(DD, 6, @StartDate)

SELECT @StartDate AS StartDate, @EndDate AS EndDate

出力結果

コメント