ฟังก์ชัน LAST_DAY() ใช้เพื่อคืนค่าวันที่ของวันสุดท้ายของเดือน ที่อยู่ในวันเวลาที่กำหนด เหมาะสำหรับการหาวันสุดท้ายของเดือน จากวันที่ที่กำหนด เช่น ใช้คำนวณกำหนดการสิ้นเดือน, การปิดงวดบัญชี หรือกำหนดวันหมดอายุ
- รับค่าเป็น
DATE,DATETIMEหรือTIMESTAMP - คืนค่าเป็น
DATEที่เป็นวันสุดท้ายของเดือนนั้น เช่น2025-04-30
ประโยชน์ของฟังก์ชัน LAST_DAY()
- หาวันสิ้นเดือนโดยไม่ต้องคำนวณเอง
- ใช้ในระบบการเงิน ปิดบัญชีสิ้นเดือน
- ใช้ช่วยวางแผนวันหมดอายุ, รายงานสิ้นงวด
- ใช้ร่วมกับ
DATE_ADD(),DATE_SUB()เพื่อคำนวณวันใกล้เคียง
รูปแบบการใช้งาน
LAST_DAY(date)
dateคือวันที่ที่ต้องการหาวันสุดท้ายของเดือน เช่น'2025-04-10',NOW(),order_date
ตัวอย่างการใช้งาน
หาวันสุดท้ายของเดือนเมษายน 2025
SQL
SELECT LAST_DAY('2025-04-10') AS last_day;
-- ผลลัพธ์: 2025-04-30หาวันสุดท้ายของเดือนปัจจุบัน
SQL
SELECT LAST_DAY(CURDATE()) AS end_of_month;ตัวอย่างการประยุกต์ใช้งาน
แสดงรายการที่มีวันครบกำหนดตรงกับสิ้นเดือน
SQL
SELECT *
FROM invoices
WHERE due_date = LAST_DAY(due_date);คำนวณวันครบกำหนดเป็นวันสิ้นเดือนถัดไป
SQL
SELECT customer_id, order_date,
LAST_DAY(DATE_ADD(order_date, INTERVAL 1 MONTH)) AS due_date
FROM orders;