Я пытаюсь ежедневно извлекать данные из большой базы данных SQL. Следующий запрос дает мне группировку на минутной основе. Я хочу группировать данные на почасовой основе.CONVERT Время от {yyyy-mm-dd hh: mm: ss} до {yyyy-mm-dd hh}
select CONVERT(VARCHAR(20), t.counterTime, 100) as [Time],
t.instanceName
from table as t
WHERE t.counterId= @counterId
and t.counterTime >= @startTime
and t.counterTime < @endTime
group by t.instanceName, CONVERT(VARCHAR(20), t.counterTime, 100)
documentation также не предоставляет такой возможности. Есть идеи?
Да, не используйте 'varhcar (20)', вместо этого используйте 'char (13)'. –
Используйте выражение 'CAST (t.counterTime AS DATE)' в вашем выборе и группе. Как вы пришли к этому выражению? –
@ Nick.McDermaid литье на сегодняшний день потеряло бы данные часа ... –