ใช้ LAST_DAY() ร่วมกับ DATE_ADD() และ CURDATE()
คำสั่ง
SELECT LAST_DAY(DATE_ADD(CURDATE(), INTERVAL 12-MONTH(CURDATE()) MONTH));
ตัวอย่างผลลัพธ์ (สมมติปี 2019)
+-------------------------------------------------------------------+ | LAST_DAY(DATE_ADD(CURDATE(), INTERVAL 12-MONTH(CURDATE()) MONTH)) | +-------------------------------------------------------------------+ | 2019-12-31 | +-------------------------------------------------------------------+
หลักการ: หาเดือนปัจจุบัน ลบออกจาก 12 เพื่อหาเดือนที่เหลือจนถึงเดือนธันวาคม แล้วบวกเดือนนั้นเข้ากับวันนี้ จะได้วันที่ในเดือนธันวาคม แล้วใช้ LAST_DAY() หาวันสุดท้ายของเดือนนั้น