Gianluca's solution is missing one minor, easily overlook thing. Easily fixed with four lines of code:
-- at the top of the code
DECLARE @OldDateFirst tinyint;
SET @OldDateFirst = @@DateFirst;
SET DATEFIRST 7;
-- put at the end of the code to restore:
SET DATEFIRST @OldDateFirst;
Wayne
Microsoft Certified Master: SQL Server 2008
Author - SQL Server T-SQL Recipes