Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como faço para consultar entre dois intervalos de tempo usando o MySQL?


Tipo de dados TIME não inclui conhecimento sobre intervalos de datas (3:00 em sua consulta representa 3:00 do dia seguinte). Você tem que lidar com isso sozinho:
SELECT columns 
FROM table
WHERE 
(cast('18:00' as time) <= cast('3:00' as time) and match_time between '18:00' AND '3:00') 
OR
(cast('18:00' as time) > cast('3:00' as time) and (match_time >= '18:00' or match_time<='3:00'));

Consulte db-fiddle .