Remove time portion of datetime column Tsql

A subject that is often covered with overuse of casting and converting by many developers , due to lazy – fast programming . There are many approaches on the specific subject . Fastest one I discovered on the web is

 

DateAdd(dd,0,datediff(dd,0,  foodate ))

 

It is the least resource intensive . And to extend this technique you can use it in a whole bunch of other cases

Such us round to :

Whole minute    DATEADD(minute, DATEDIFF(minute, 0, startdate)0)

Whole Hour    DATEADD(hour, DATEDIFF(hour, 0, startdate), 0)

etc…


(Proof of concept is Here and Here )