Member 11525563 Ответов: 2

Как я узнаю, что данный временной диапазон находится между 10 вечера и 6 вечера?


Привет, ребята, вы можете мне помочь в этом вопросе, мне нужно проверить, есть ли данный временной диапазон между 10 вечера и 6 утра,

например:
Заданное время: 7 вечера - 4 утра


Я хочу выводить данные в промежутке между 10 вечера и 6 утра в этом заданном диапазоне времени.

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

Case
		When CAST(c.Start_Time as Time) <= CAST('10:00 PM' as Time) and Cast(d.End_Time as Time) <= CAST('06:00 AM' as Time) Then 1 
		Else 0
	end as [HoursWorked w/ ND],

2 Ответов

Рейтинг:
1

RossMW

Используйте функцию datepart SQL. Видеть DATEPART (Transact-SQL)[^]

В качестве примеров

Select case when datepart(hh, start_time) > 10 or datepart(hh, starttime) < 5 then 'Out of hours' else ' work hours' end as x from XXX


Это предполагает, что вы используете поле datetime. Область, с которой нужно быть осторожным, - это дата окончания, потому что точное время 6 утра не будет включено, но 5:59:59 будет.

Если вам действительно нужно 6: 00:00, вам нужно будет расширить запрос аналогичным образом, чтобы включить 6: 00: 00, но исключить все, что выходит за рамки 6: 00:00


Рейтинг:
0

Daniel Jones

Я не совсем уверен, но вы можете попробовать это

SELECT * FROM TABLE
WHERE DATE BETWEEN '06/29/2016 10:00:00' and '06/29/2016 06:00:00'