This works:
Set Datefirst = 6 -- Set 'first day of week' to Saturday
Select @DayWk = Datepart(dw, getdate()) -- Get day of week, with Sat=1, Sun=2, etc.
If @DayWk <= 3 -- If Sat, Sun, Mon
Select Dateadd(d, -(@DayWk), Cast(Convert(varchar, getdate(), 112) as datetime)) As LastWorkDay -- Subtract that day value from the current day
Else
Select Dateadd(d, -1, Cast(Convert(varchar, getdate(), 112) as datetime)) As LastWorkDay -- subtract 1 from the current day
Set Datefirst = 7 -- set back to normal
Main Topics
Browse All Topics





by: DexstarPosted on 2004-01-13 at 09:26:25ID: 10105897
@musclejack:
> Can someone show me how to create that in t-sql
Try this:
DECLARE @dt DATETIME
DECLARE @dtGood DATETIME
SET @dt = '2004-01-12'
SET @dtGood = DATEADD( d, CASE DATEPART(dw,@dt)
WHEN 1 THEN -2
WHEN 7 THEN -1
WHEN 2 THEN -3
ELSE 0
END, @dt)
Hope That Helps,
Dex*