ตัวอย่าง query กำหนดเวลาแสดงผลของ mysql ให้แสดง ไม่แสดงตามเวลาที่กำหนด โดยยูเซอร์เลือกที่จะใส่ไม่ใส่ time, expire, start, end ก็ได้ เช่น จะแสดงหลังวันที่ xxx ไปตลอดกาลก็ใส่แต่วันที่เริ่มต้น จะแสดงจนถึงวันที่เท่าไหร่ก็ใส่เฉพาะวันที่สิ้นสุด จะแสดงในช่วงเวลาก็ใส่ทั้งคู่ กลับกัน ไม่ใส่ทั้งคู่ก็เหมือนไม่กำหนดเงือนไขอะไรเลย
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | SELECT *, CASE WHEN datePublish != '0000-00-00' AND dateExpire != '0000-00-00' THEN IF(datePublish <= Curdate() AND dateExpire >= Curdate(), true , false ) WHEN datePublish != '0000-00-00' THEN IF(datePublish <= Curdate(), true , false ) WHEN dateExpire != '0000-00-00' THEN IF(dateExpire >= Curdate(), true , false ) ELSE true END AS published FROM pp_contents HAVING published = true |