I need to write a query that gives me 3 working days prior to a given date without using functions. I don't have a huge knowledge of SQL and wanted to know if this simple query will suffice.
DECLARE @date DATETIME
SET @date = '7 september 2013'
SELECT DATEPART(dw, @date),
CASE WHEN DATEPART(dw, @date) = 1 THEN @date - 4
WHEN DATEPART(dw, @date) =2 THEN @date - 5
WHEN DATEPART(dw, @date) =3 THEN @date - 5
WHEN DATEPART(dw, @date) =4 THEN @date - 5
WHEN DATEPART(dw, @date) =5 THEN @date - 3
WHEN DATEPART(dw, @date) =6 THEN @date - 3
WHEN DATEPART(dw, @date) =7 THEN @date - 3
END AS '3 Business days prior'