Queries the previous Sunday (Sunday is first day) SQL statement for the week on which the given date is located
DECLARE @date datetime
Set @date = GETDATE ()
--Train of thought: The current Diary of the Week in Sunday minus 1 weeks
The return value of--datepart (weekday,date) is related to @ @datefirst
Set Datefirst 7-or set to American English set language us_english; (Sunday is the first day)
Select DATEADD (Week,-1,dateadd (Day,1-datepart (Weekday, @date), @date)) as ' the first day of last week, Sunday '
--One week equals 7 days.
Select DATEADD (Day,-7,dateadd (Day,1-datepart (Weekday, @date), @date)) as ' the first day of last week, Sunday '
--Simplifying
Select DATEADD (Day,-6-datepart (Weekday, @date), @date) as ' the first day of last week, Sunday '
--Last Sunday, nothing to do with SQL Server language version or @ @datefirst
Select DATEADD (Week,-1+datediff (week,-1, @date), -1) as ' last Sunday '
--or
Select DATEADD (Week,datediff (week,6, @date), -1) as ' last Sunday '
Go