sql >> Databáze >  >> RDS >> Mysql

Jak mohu pomocí MySQL dotazovat mezi dvěma časovými rozsahy?

Datový typ TIME nezahrnuje znalosti o obdobích (3:00 ve vašem dotazu představuje 3:00 následujícího dne). Musíte to zvládnout sami:

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

Viz db-fiddle .




  1. Datetime stejný nebo větší než dnes v MySQL

  2. Význam transakčního protokolu na SQL Serveru

  3. Mysql count vrací nulu, pokud nebyl nalezen žádný záznam

  4. Použití dotazu MySQL s proměnnými z C#