Mysql
 sql >> Database >  >> RDS >> Mysql

Come faccio a interrogare tra due intervalli di tempo usando MySQL?

Tipo di dati TIME non include la conoscenza degli intervalli di date (le 3:00 nella tua query rappresentano le 3:00 del giorno successivo). Devi gestirlo da solo:

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

Vedi db-fiddle .