ขอยกตัวอย่างเพื่อให้เห็นภาพครับ โจทย์มีอยู่ว่าต้องการดึงรายการข่าว ซึ่งกำหนดเงื่อนไขให้เลือกจากช่วงเวลา และคำนวณวันสิ้นสุดอัตโนมัติ เช่น มีอายุการแสดงได้แค่ 3 เดือน โดยเริ่มนับจากวันที่บันทึก (ฟิลด์ชื่อ AddDate) ก็จะได้ SQL ตามด้านล่างนี้:
SELECT * FROM TbNews
WHERE (
NOW() >= AddDate
AND NOW() < DATE_ADD(AddDate, INTERVAL 3 MONTH)
)
อธิบายเพิ่มเติม
เลือกทุกฟิลด์จากตาราง TbNews โดย:
- "วันปัจจุบัน" ต้องมากกว่าหรือเท่ากับ "วันที่บันทึก"
- "วันปัจจุบัน" ต้องน้อยกว่า "วันที่บันทึก บวกเพิ่มอีก 3 เดือน"
หวังว่าบทความนี้จะมีประโยชน์กันนะครับ