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

Håndtering af tider og efter midnat

Lagring af minut (int(4) usigneret) er vejen at gå.
I stedet for at gemme ugedag + åbningstid, lukketid (med forskydning),
bør du gemme minuttet siden mandag kl. 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

Så det nuværende tidspunkt er tirsdag kl. 01:30, hvilket er :-

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

SQL'en :-

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


  1. java.sql.SQLException:Adgang nægtet for brugeren '[email protected]'@'localhost' (ved hjælp af adgangskode:JA)

  2. Krypter adgangskode i insert statement i postgresql kaster en fejl (Behov for at tilføje eksplicit type cast)

  3. Hvad er MariaDB ColumnStore?

  4. Postgres-fejl:Mere end én række returneret af en underforespørgsel, der bruges som et udtryk