Как получить временной интервал для каждой записи в MSQL
Привет Команда,
у меня есть таблица, в которой доступны записи со значениями datetime.
мне нужно получить ежедневный обработанный отчет с дополнительным столбцом в качестве временного интервала.
я разделил день на 96 временных интервалов по 15 минут каждый.
Таким образом, если запись datetime имеет значение "2020-04-29 08:31:05.907", то она должна находиться под временным интервалом 35, то есть между 08:30 и 08:45
Что я уже пробовал:
у меня есть приведенный ниже запрос, который разделяет день, но мне нужно присоединиться к моей таблице транзакций, чтобы получить временной интервал конкретной записи
With temp As ( SELECT 1 as Time_ID, RIGHT(CONVERT(VARCHAR(16), DATEADD(day, DATEDIFF(day,0,GETDATE()),0),120),15) as Time_Slot UNION ALL SELECT Time_ID+1 ,RIGHT(CONVERT(VARCHAR(16), DATEADD(minute, Time_ID*15,DATEADD(day, DATEDIFF(day,0,GETDATE()),0) ) ,120),15) FROM temp WHERE DATEADD(minute, Time_ID*15,DATEADD(day, DATEDIFF(day,0,GETDATE()),0)) < DATEADD(day,DATEDIFF(day,0,GETDATE())+1,0) )select * from temp
CHill60
Вы опубликовали только часть своего запроса
Member 14816845
(меньше, чем)функция dateadd(день,функция datediff(день,0,getdate ()) для+1,0))выберите * от темп
это недостающая часть
меньше символа(& lt;) здесь не принимается. жаль, что
CHill60
Существует ссылка на улучшение вопроса (видимая, если вы нажмете на свой вопрос) - таким образом, вы можете сохранить форматирование кода. Я сделал это для тебя
CHill60
Кроме того - если вам нужно поместить символы в комментарии в будущем, попробуйте использовать html-разметку для символа, например & l t точка с запятой(без пробелов)-это <