Hmm, not changing the DATEFIRST here - but I seem to get Sunday 😀
Declare @currentDate datetime
,@sundayDate datetime;
Set @currentDate = getdate()
Set @sundayDate = dateadd(week, datediff(week, -1, @currentDate), -1);
Select @sundayDate, datename(weekday, @sundayDate);
Set @currentDate = dateadd(day, -5, getdate());
Set @sundayDate = dateadd(week, datediff(week, -1, @currentDate), -1);
Select @sundayDate, datename(weekday, @sundayDate);
Now, if I want every Tuesday we change the seed date:
Declare @currentDate datetime
,@tuesdayDate datetime
,@seedDate datetime;
Set @seedDate = '20100105'; -- First Tuesday of this year
Set @currentDate = getdate()
Set @tuesdayDate = dateadd(week, datediff(week, @seedDate, @currentDate), @seedDate);
Select @tuesdayDate, datename(weekday, @tuesdayDate);
Set @currentDate = dateadd(day, 10, getdate());
Set @tuesdayDate = dateadd(week, datediff(week, @seedDate, @currentDate), @seedDate);
Select @tuesdayDate, datename(weekday, @tuesdayDate);
Should do it...
Jeffrey Williams
“We are all faced with a series of great opportunities brilliantly disguised as impossible situations.”
― Charles R. Swindoll
How to post questions to get better answers faster
Managing Transaction Logs