Không có một cách hiệu suất nào tuyệt vời để xử lý vấn đề này. where
đúng tuyên bố là:
where (start <= end and :time between start and end) or
(end < start and :time not between end and start)
Tất nhiên, bạn không phải sử dụng between
, bạn có thể mở rộng điều này ra:
where (start <= end and :time >= start and :time <= end) or
(end < start and (:time <= end or :time >= start))