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…