What date was it on the most recent Monday (i.e. last Monday)?
February 6, 2022 ยท View on GitHub
...and so on....
Select
DateAdd(day, 1, DATEADD(wk, DATEDIFF(wk, 6, GETDATE()), 6)) as Most_Recent_Monday,
DateAdd(day, 1+7, DATEADD(wk, DATEDIFF(wk, 6, GETDATE()), 6)) as Next_Monday,
DateAdd(day, 1+14, DATEADD(wk, DATEDIFF(wk, 6, GETDATE()), 6)) as Monday_Fortnight,
DateAdd(day, 2, DATEADD(wk, DATEDIFF(wk, 6, GETDATE()), 6)) as Most_Recent_Tuesday,
DateAdd(day, 3, DATEADD(wk, DATEDIFF(wk, 6, GETDATE()), 6)) as Most_Recent_Wednesday,
DateAdd(day, 4, DATEADD(wk, DATEDIFF(wk, 6, GETDATE()), 6)) as Most_Recent_Thursday,
DateAdd(day, 5, DATEADD(wk, DATEDIFF(wk, 6, GETDATE()), 6)) as Most_Recent_Friday,
DateAdd(day, 6, DATEADD(wk, DATEDIFF(wk, 6, GETDATE()), 6)) as Most_Recent_Saturday,
DateAdd(day, 7, DATEADD(wk, DATEDIFF(wk, 6, GETDATE()), 6)) as Most_Recent_Sunday,
DateAdd(day, 2+7, DATEADD(wk, DATEDIFF(wk, 6, GETDATE()), 6)) as Next_Tuesday,
DateAdd(day, 3+7, DATEADD(wk, DATEDIFF(wk, 6, GETDATE()), 6)) as Next_Wednesday,
DateAdd(day, 4+7, DATEADD(wk, DATEDIFF(wk, 6, GETDATE()), 6)) as Next_Thursday,
DateAdd(day, 5+7, DATEADD(wk, DATEDIFF(wk, 6, GETDATE()), 6)) as Next_Friday,
DateAdd(day, 6+7, DATEADD(wk, DATEDIFF(wk, 6, GETDATE()), 6)) as Next_Saturday,
DateAdd(day, 7+7, DATEADD(wk, DATEDIFF(wk, 6, GETDATE()), 6)) as Next_Sunday
This works because
DATEDIFF(wk, 6, GETDATE()),
...says "How many weeks between the date of '6' (meaning 7/1/1900)(!!) and now"
i.e. currently about 6087
...and I'll C U DateAdd(day, 2+7, DATEADD(wk, DATEDIFF(wk, 6, GETDATE()), 6))