Выборка записей из таблицы на основе определенного интервала времени для одной и той же даты на сервере SQL - PullRequest
0 голосов
/ 03 сентября 2018

У меня есть таблица со столбцом Дата и время вместе (скажем, Дата создания). У меня есть требование извлекать записи из таблицы, передавая только время (так как я получаю записи с разными интервалами в одну и ту же дату).

Мой вопрос заключается в том, как разбить только часть времени в поле DateTime в моей Таблице при извлечении записей с помощью хранимой процедуры

Далее процитировать пример Я должен получить данные из той же таблицы для 5 раз в указанную дату скажем

9.00 to 10.00
11.00 to 12.00
....
....
13.00 to 14.00 etc

Ответы [ 3 ]

0 голосов
/ 03 сентября 2018

Вы также можете использовать функцию datepart(), чтобы просто извлечь час:

select datepart(hour, createdat), . . .
from . . .
where datepart(hour, createdat) between 9 and 13
group by datepart(hour, createdat)
order by datepart(hour, createdat);
0 голосов
/ 04 сентября 2018

Я думаю, что это было очень просто и может быть сделано очень оптимистичным и изнурительным способом.

Declare @input datetime='2018-09-04'

declare @starttime varchar(15)='13:00'
declare @endtime varchar(15)='14:00'

declare @StartDate datetime=@input+@starttime

declare @EndDate datetime=@input+@endtime

select * from 
table1 
where createdate>=@StartDate and createdate<=@EndDate
0 голосов
/ 03 сентября 2018

Вы можете отделить часть времени от поля DateTime, используя приведенный ниже код.

select cast(CreatedDate as time) as TimePart
from your_Table_name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...