Другой вариант - использовать CONVERT (MSSQL 2008 и более поздние версии) и либо использовать соответствующий стиль, либо использовать стиль, который вы можете затем ПОДПИСАТЬ. Я не имею представления о производительности по сравнению с решением dateadd / datediff.
, например
SELECT SUBSTRING(CONVERT(nvarchar(30), GETDATE(), 120), 1, 16)
Возвращает:
2012-01-03 15:30
Пример использования группы, в которой перечислены строки, созданные за минуту (подразумевается «созданный» столбец даты и времени):
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)