以下は、週の最初の曜日 (日曜日、月曜日など) が何であっても機能しますが、必ず SET DATEFIRST
を使用してください。 デフォルトから変更したい場合。 SET DATEFIRST 1
週の最初の日を月曜日にします。
SELECT DATEADD(DAY, 1 - DATEPART(WEEKDAY, GETDATE()), CAST(GETDATE() AS DATE)) [WeekStart], DATEADD(DAY, 7 - DATEPART(WEEKDAY, GETDATE()), CAST(GETDATE() AS DATE)) [WeekEnd]
プレ>編集
私はあなたのリクエストを読み直しましたが、あなたは私が上で与えたものとは違う何かを求めているのではないかと思います.月の最初と最後の曜日が必要な場合は、次のようにします。
SELECT DATENAME(WEEKDAY, DATEADD(DAY, 1 - DATEPART(DAY, GETDATE()), GETDATE())) [FirstDayOfMonth], DATENAME(WEEKDAY, DATEADD(DAY, - DATEPART(DAY, DATEADD(MONTH, 1, GETDATE())), DATEADD(MONTH, 1, GETDATE()))) [LastDayOfMonth]
プレ>