Это еще одна альтернатива, но она опасна из-за того, что вы выбрали FLOAT. Было также продемонстрировано не масштабирование производительности, а также подход DATEADD/DATEDIFF.
CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME)
Ответ 2
Другим вариантом является использование CONVERT (MSSQL 2008 и более поздних версий) и либо использовать соответствующий стиль, либо использовать стиль, который вы затем можете использовать SUBSTRING. Я понятия не имею о производительности по сравнению с решением dateadd/датичным решением.
Пример использования группы, в которой перечислены строки, созданные за минуту (предполагается, что "создан" столбец datetime):
SELECT SUBSTRING(CONVERT(nvarchar(30), created, 120), 1, 16) as [minute]
, COUNT(1) as [per min]
FROM foo
GROUP BY SUBSTRING(CONVERT(nvarchar(30), created, 120), 1, 16)