ในตัวอย่างนี้ใน function IF จะตกเงื่อนไข ที่มี OR ครับ
แต่ถ้า กรณีทั่วๆ ไปเช่น 18:00 เป็นค่าเริ่มต้นและ 21:00 เป็นเวลาสิ้นสุด
จะตกอีกเงื่อนไขนึงคือเงื่อนไขที่ไม่มี OR ครับ
SELECT * FROM
(
SELECT '18:30' AS t
UNION
SELECT '17:45' AS t
UNION
SELECT '20:45' AS t
UNION
SELECT '22:00' AS t
UNION
SELECT '23:00' AS t
UNION
SELECT '00:30' AS t
UNION
SELECT '01:00' AS t
UNION
SELECT '02:30' AS t
UNION
SELECT '04:30' AS t
UNION
SELECT '06:00' AS t
) AS t1
WHERE
IF ('22:00' <= '05:00',
(t BETWEEN '22:00' AND '05:00'),
(t BETWEEN '22:00' AND '23:99') OR (t BETWEEN '00:00' AND '05:00')
);