sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo consulto entre dos rangos de tiempo usando MySQL?

Tipo de dato TIME no incluye conocimiento sobre rangos de fechas (3:00 en su consulta representa las 3:00 del día siguiente). Tienes que manejar esto tú mismo:

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'));

Ver db-fiddle .