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)

PS. For updates about new posts, sites I find useful and the occasional rant you can follow me on Twitter. You are also most welcome to subscribe to the RSS-feed.

 

http://joelabrahamsson.com/getting-the-first-day-in-a-week-with-t-sql/

原文地址:https://www.cnblogs.com/kkun/p/3367744.html