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

Radzenie sobie z czasami i po północy

Przechowywanie minuty (int(4) bez znaku) to droga.
Jednak zamiast dnia tygodnia + godziny_otwarcia, godziny zamknięcia (z przesunięciem)
należy zapisać minutę od poniedziałku 12:00 :-

 Monday  18:00 = (1 - 1)*60 * 18 = 1080
 Tuesday 02:00 = (2 - 1)*60 * 24 + (2 * 60) = 1560
 ...
 // please take note shop could have different operating hour for each day

Tak więc aktualny czas to wtorek 1:30, czyli :-

 // mysql expression
 $expr = (weekday(current_timestamp)+1) * 1440 + (hour(current_timestamp)*60) + minute(current_timestamp)

SQL :-

 select ... 
 from opening_hours
 where
 open_time  >= $expr and
 close_time <= $expr;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyzwalacz MySQL przed wstawieniem kolumny aktualizacji z nowym identyfikatorem automatycznego przyrostu

  2. Błąd nieznanej kolumny MySQL podczas używania ALTER, nie rozumiem zachowania

  3. Jakie są zalety trybu only_full_group_by?

  4. Wstrzykiwanie SQL, cytaty i PHP

  5. Jak ekstrapolować dane przez Mysql i umieścić w tablicy?