I came across a nice
article by Bryan Syverson on dates and times in SQL Server. I was looking
for a single-line-type-of way of eliminating the time from a DateTime
variable in SQL Server and the article suggested the following.
CAST(FLOOR(CAST(@SomeDateAndTime AS FLOAT)) AS DATETIME)
The idea is to cast the DateTime variable
to a Float and use Floor to lose everything after the decimal point. For more
information on why this works have a read through the article and then also
have a read through this
reply to the article which sets a few things straight.