Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak mogę wysyłać zapytania między dwoma przedziałami czasowymi za pomocą MySQL?

Typ danych TIME nie zawiera wiedzy na temat zakresów dat (3:00 w zapytaniu oznacza 3:00 z następnego dnia). Musisz sobie z tym poradzić sam:

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

Zobacz db-fiddle .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL aktualizuje pole za pomocą zmiennej inkrementacyjnej

  2. Wybierz rekordy sprzed tygodnia w mysql

  3. Jak utworzyć dwie kolumny z automatycznym przyrostem w MySQL?

  4. wielokrotne WKŁADKI i zachowanie bezpieczeństwa przygotowanych oświadczeń PDO

  5. Jak debugować przekroczony limit czasu oczekiwania blokady na MySQL?