Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Xử lý thời gian và sau nửa đêm

Lưu trữ phút (int (4) unsigned) là một cách để thực hiện.
Tuy nhiên, thay vì lưu trữ ngày trong tuần + giờ mở cửa, giờ đóng cửa (có bù trừ),
bạn nên lưu trữ phút kể từ 12 giờ sáng Thứ Hai:-

 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

Vì vậy, thời gian hiện tại là 1:30 sáng Thứ Ba, tức là:-

 // 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. Có bao nhiêu cách nhập dữ liệu vào mysql

  2. Đề xuất các truy vấn khác cho cách viết cổ (ví dụ:Bạn có ý nghĩa của Google)

  3. Mysql DISTINCT không hoạt động nếu tôi thêm một cột khác

  4. MySQL tăng biến người dùng khi giá trị thay đổi

  5. Sao chép bảng có dữ liệu từ máy chủ MySQL này sang máy chủ MySQL khác