Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment puis-je interroger entre deux plages horaires à l'aide de MySQL ?

Type de données TIME n'inclut pas les connaissances sur les plages de dates (3:00 dans votre requête représente 3:00 du lendemain). Vous devez gérer cela vous-même :

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

Voir db-fiddle .