Het volgende werkt, wat u ook beschouwt als de eerste dag van de week (zondag, maandag, enz.), zorg er gewoon voor dat u SET DATEFIRST
gebruikt als u de standaardinstelling wilt wijzigen. SET DATEFIRST 1
maakt de eerste dag van de week maandag.
SELECT DATEADD(DAY, 1 - DATEPART(WEEKDAY, GETDATE()), CAST(GETDATE() AS DATE)) [WeekStart],
DATEADD(DAY, 7 - DATEPART(WEEKDAY, GETDATE()), CAST(GETDATE() AS DATE)) [WeekEnd]
BEWERKEN
Ik heb zojuist je verzoek opnieuw gelezen en ik denk dat je misschien op zoek bent naar iets anders dan wat ik hierboven heb gegeven. Als u de dag van de week van de eerste en de laatste van de maand wilt, is dit voldoende:
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]