Niezależnie od aktualnego ustawienia DATEFIRST, ostatnią niedzielę można znaleźć tak:
SELECT DATEADD(day,
-1 - (DATEPART(weekday, GETDATE()) + @@DATEFIRST - 2) % 7,
GETDATE()
) AS LastSunday
Zastąp GETDATE()
z parametrem @date
aby uzyskać ostatnią niedzielę przed konkretną datą.