MySQL การใช้งานฟังก์ชัน LAST_DAY()

ฟังก์ชัน LAST_DAY() ใช้เพื่อคืนค่าวันที่ของวันสุดท้ายของเดือน ที่อยู่ในวันเวลาที่กำหนด เหมาะสำหรับการหาวันสุดท้ายของเดือน จากวันที่ที่กำหนด เช่น ใช้คำนวณกำหนดการสิ้นเดือน, การปิดงวดบัญชี หรือกำหนดวันหมดอายุ

  • รับค่าเป็น DATE, DATETIME หรือ TIMESTAMP
  • คืนค่าเป็น DATE ที่เป็นวันสุดท้ายของเดือนนั้น เช่น 2025-04-30

ประโยชน์ของฟังก์ชัน LAST_DAY()

  1. หาวันสิ้นเดือนโดยไม่ต้องคำนวณเอง
  2. ใช้ในระบบการเงิน ปิดบัญชีสิ้นเดือน
  3. ใช้ช่วยวางแผนวันหมดอายุ, รายงานสิ้นงวด
  4. ใช้ร่วมกับ 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;
แชร์เรื่องนี้