Qual é a melhor maneira de truncar uma data no SQL Server?

Se eu tiver um valor de data como2010-03-01 17:34:12.018

Qual é a maneira mais eficiente de transformar isso em2010-03-01 00:00:00.000?

Como questão secundária, qual é a melhor maneira de imitar o OracleTRUNC função, que permitirá truncar nos limites de ano, trimestre, mês, semana, dia, hora, minuto e segundo?

questionAnswers(4)

yourAnswerToTheQuestion