[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) = 1 THEN -6 ELSE 2-DATEPART(dw,@LogDate) END, @LogDate)
SET @EndDate = DATEADD(DD, 6, @StartDate)

SELECT @StartDate AS StartDate, @EndDate AS EndDate

出力結果

コメント

このブログの人気の投稿

[SQL Server] 「、」カンマ区切りをテーブル化する方法

[SQL Server] sidを指定してcreate userでDBアカウント作成方法