On my system using the query for the first day of the week gives Monday instead of Sunday which is, of course, incorrect. Is this based on the locale of the system, or is that consistent behavior all together. After all, the first day of the week is always Sunday not Monday.
SELECT DATEADD(wk, DATEDIFF(wk,0,GETDATE()), 0)
query performed on 2010-04-07 08:42
query results in 2010-04-05 instead of expected 2010-04-04.
My locale should be en_US.