Følgende vil fungere, uanset hvad du tænker på den første dag i ugen (søndag, mandag osv.), bare sørg for at bruge SET DATEFIRST
hvis du vil ændre fra standarden. SET DATEFIRST 1
vil gøre den første dag i ugen til mandag.
SELECT DATEADD(DAY, 1 - DATEPART(WEEKDAY, GETDATE()), CAST(GETDATE() AS DATE)) [WeekStart],
DATEADD(DAY, 7 - DATEPART(WEEKDAY, GETDATE()), CAST(GETDATE() AS DATE)) [WeekEnd]
REDIGER
Jeg har lige genlæst din anmodning, og jeg tror, du kan være ude efter noget andet end det, jeg har givet ovenfor. Hvis du vil have ugedagen i den første og sidste i måneden, vil dette gøre tricket:
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]