Member 10033441 Ответов: 1

Sql-запрос:если мы передадим любую дату и время в фильтре, запрос должен получить данные для выбранной часовой части для всех выбранных дат.


If we execute the query for 5 days with Start Time 1PM and End Time 5 PM (For eg), Query should fetch data between 1PM to 5 PM for all the 5 days. Likewise, if we pass any Datetime in the filter, the query should fetch data for the selected hour part for all the selected dates.
But I am not able to get the expecting result.Please help me to write a query

Sample Schema

ani nvarchar(100),
dnis nvarchar(100),
StartTime datetime


Что я уже пробовал:

SELECT id,ani,dnis,starttime,line
FROM CCR
WHERE CAST(StartTime as time) > CAST('16:45' as time) order by  StartTime desc  

1 Ответов

Рейтинг:
0

OriginalGriff

Если я установлю базовый стол:

ani     dnis    StartTime               Id
ani1   	dnis1   2018-03-15 09:00:00.000	1
ani2   	dnis2   2018-03-14 14:00:00.000	2
ani3   	dnis3   2018-03-13 16:59:00.000	3
ani4   	dnis4   2018-03-12 17:01:00.000	4
И запустите свой запрос:
SELECT id,ani,dnis,starttime--,line
FROM CCR
WHERE CAST(StartTime as time) > CAST('16:45' as time) order by  StartTime desc

Я получаю именно то, что и ожидал - два ряда:
id	ani	dnis	starttime
3	ani3    dnis3   2018-03-13 16:59:00.000
4	ani4    dnis4   2018-03-12 17:01:00.000

Так что ваш запрос делает то, что вы говорите, что вы этого хотите...