• this is what i've come up with years ago:

    it returns Monday as 1, Teusday as 2 etc..., regardles of @@Datefirst.

    declare @Date datetime

    select @Date = '2009-12-17'

    selectcasewhen (datepart(weekday,@Date) + @@Datefirst - 1)%7 = 0

    then 7

    else (datepart(weekday,@Date) + @@Datefirst - 1)%7

    end