Поскольку вы имеете дело с приемлемой временной строкой: -
Time Strings
A time string can be in any of the following formats:
YYYY-MM-DD
YYYY-MM-DD HH:MM
YYYY-MM-DD HH:MM:SS
YYYY-MM-DD HH:MM:SS.SSS
YYYY-MM-DDTHH:MM
YYYY-MM-DDTHH:MM:SS
YYYY-MM-DDTHH:MM:SS.SSS
HH:MM
HH:MM:SS
HH:MM:SS.SSS
now
DDDDDDDDDD
SQL как понял SQLite - функции даты и времени
тогда, в случае, если вы упомянули, вы можете использовать функцию time
, которая будет понимать / распознавать время. Вы можете использовать операторы вместе с предложением WHERE.
Например
Предполагается, что таблица с именем times создается на основе: -
DROP TABLE IF EXISTS times;
CREATE TABLE times (start_time TEXT, end_time TEXT);
INSERT INTO times VALUES
('12:15','12:36'),
('13:26','17:50'),
('11:56','13:02'),
('10:45','12:10')
;
который будет выглядеть так: -

Тогда: -
SELECT * FROM times WHERE time(start_time) >= time('11:00') AND time(end_time) <= ('17:00');
Находит время, которое начинается в или после 11:00 , а заканчивается в или до 17:00.
Результаты, если применить их к таблице примеров, будут: -

т.е.
- 12: 15 - 12: 36 начинается после 11: 00 и заканчивается до 17: 00 , поэтому включено.
- 13: 26 - 17: 50 , хотя начиная с 11: 00 нет или раньше 17: 00 , поэтому исключается.
- 11: 56 - 13: 02 будут включены.
- 10: 45 - 12: 00 не запускается до 11: 00 , поэтому исключается.