ProgrammingJune 26, 2009

Getting the first day in a week with T-SQL

A colleague just asked me if I knew a way to get the first day in a week in SQL Server. While I'm sure that there are many ways to get the first day (date) in a week here is a very simple way that in my opinion is quite elegant. The example assumes that you want to get the date of the first day in the week that GETDATE() is in. You could of course replace GETDATE() with a column of the datetime type.

SELECT DATEADD(ww, DATEDIFF(ww,0,GETDATE()), 0)

The same method can be used to extract only the date part from a datetime in T-SQL:

DATEADD(dd, DATEDIFF(dd,0,GETDATE()), 0)
Tagst-sql