Use the DATEPART function to determine the weekday...
DECLARE @DueDate DATETIME
SET @DueDate = '2/4/2006' --use your current logic to determine the
correct due date.
SELECT @DueDate = CASE
WHEN DATEPART(weekday, @DueDate) = 7 THEN
DATEADD(DAY, -1, @DueDate)
WHEN DATEPART(weekday, @DueDate) = 1 THEN
DATEADD(DAY, 1, @DueDate)
ELSE
@DueDate
END
SELECT @DueDate
- Eric Isaacs
You can use a CASE expressions and the date/time functions to calculate
the due date (note this calculation is dependent on SET DATEFIRST):
SELECT CASE DATEPART(dw,
DATEADD(DAY, 4,
DATEADD(MONTH,
DATEDIFF(MONTH, 0, CURRENT_TIMESTAMP), 0)))
WHEN 1 -- Sunday
THEN DATEADD(DAY, 5,
DATEADD(MONTH,
DATEDIFF(MONTH, 0, CURRENT_TIMESTAMP), 0))
WHEN 7 -- Saturday
THEN
DATEADD(DAY, 3,
DATEADD(MONTH,
DATEDIFF(MONTH, 0, CURRENT_TIMESTAMP), 0))
ELSE DATEADD(DAY, 4,
DATEADD(MONTH,
DATEDIFF(MONTH, 0, CURRENT_TIMESTAMP), 0))
END AS due_date;

Signature
Plamen Ratchev
http://www.SQLStudio.com