How to check if datetime happens to be Saturday or Sunday in SQL Server 2008
Many ways to do this, you can use DATENAME and check for the actual strings 'Saturday' or 'Sunday'
SELECT DATENAME(DW, GETDATE())
Or use the day of the week and check for 1 (Sunday) or 7 (Saturday)
SELECT DATEPART(DW, GETDATE())
This expression
SELECT (((DATEPART(DW, @my_date_var) - 1 ) + @@DATEFIRST ) % 7)
will always return a number between 0 and 6 where
0 -> Sunday
1 -> Monday
2 -> Tuesday
3 -> Wednesday
4 -> Thursday
5 -> Friday
6 -> Saturday
Independently from @@DATEFIRST
So a weekend day is tested like this
SELECT (CASE
WHEN (((DATEPART(DW, @my_date_var) - 1 ) + @@DATEFIRST ) % 7) IN (0,6)
THEN 1
ELSE 0
END) AS is_weekend_day