Лучший (и самый быстрый) способ сделать это - преобразовать дату в целое число, поскольку часть времени хранится в десятичной части.
Попробуйте это:
select convert(datetime,convert(int, @yourdate))
Таким образом, вы конвертируете его в целое число, а затем обратно в данные и вуаля, часть времени исчезла.
Конечно, вычитая этот результат из исходного значения, вы получите только часть времени.