2012-07-20 13 views
6

Chcę uzyskać ostatni dzień (niedzielę) bieżącego tygodnia z dowolnym znacznikiem czasu. Próbowałem wykonać scenariusz, ale w sobotę powróciłem jako ostatni dzień, a nie w niedzielę, tak jak się spodziewałem.SQL: jak zdobyć niedzielę bieżącego tygodnia

Select DATEADD(DAY , 7-DATEPART(WEEKDAY,GETDATE()),GETDATE()) AS 'Last Day Of Week' 

Każda odpowiedź jest mile widziane!

+0

Więc chcesz tydzień będzie poniedziałek -> niedzielę? Domyślnie w SQL Server jest niedziela -> sobota. –

+0

Zobacz także http://weblogs.sqlteam.com/peterl/archive/2009/06/17/How-to-get-the-N--teekday-of-a-month.aspx – Madhivanan

+0

Sobota to dzień 7, tygodnie rozpoczynają się w niedziele. – Gaspa79

Odpowiedz

11

Będzie ona działać w przypadku zmiany standardowych DATEFIRST od niedzieli (7) do poniedziałku (1):

SET DATEFIRST 1 

Select DATEADD(DAY , 7-DATEPART(WEEKDAY,GETDATE()),GETDATE()) AS 'Last Day Of Week' 
+0

Dziękuję bardzo! – Echo

+0

+1 twoja odpowiedź jest poprawna. Usunąłem odpowiedź .. Nie zadziała w niedziele .. dzięki –

Powiązane problemy