• 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


    If you can't explain to another person how the code that you're copying from the internet works, then DON'T USE IT on a production system! After all, you will be the one supporting it!
    Links:
    For better assistance in answering your questions
    Performance Problems
    Common date/time routines
    Understanding and Using APPLY Part 1 & Part 2