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

ฟังก์ชัน PERIOD_ADD() ใช้เพื่อบวกจำนวนเดือน (n) เข้ากับค่าช่วงเวลา (period) ที่อยู่ในรูปแบบ YYYYMM (ปีและเดือน) เช่น PERIOD_ADD(202404, 3) จะได้ 202407

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

  1. ใช้คำนวณงวดถัดไปในระบบบัญชี เช่น บวกเดือนปัจจุบันไปอีก 6 งวด
  2. ใช้คำนวณเดือนหมดอายุจากเดือนเริ่มต้น
  3. เหมาะกับระบบที่เก็บเดือนในรูปแบบ YYYYMM ไม่ใช่ DATE ปกติ
  4. ใช้งานง่ายกว่าการแปลงเป็นวันที่แล้วใช้ DATE_ADD() หากเก็บเป็นตัวเลข

รูปแบบการใช้งาน

PERIOD_ADD(period, number_of_months)
  • period คือค่าปีและเดือนในรูปแบบ YYYYMM เช่น 202401
  • number_of_months คือจำนวนเดือนที่ต้องการบวกเข้าไป (เป็นจำนวนเต็ม)

ตัวอย่างการใช้งาน

บวก 3 เดือนเข้าไปในเมษายน 2024

SQL
SELECT PERIOD_ADD(202404, 3) AS result;
-- ผลลัพธ์: 202407

บวก 12 เดือนในเดือนพฤษภาคม 2023

SQL
SELECT PERIOD_ADD(202305, 12) AS result;
-- ผลลัพธ์: 202405

สมมติว่ามีข้อมูลรอบบัญชีในรูปแบบ YYYYMM

SQL
SELECT customer_id,
       billing_period,
       PERIOD_ADD(billing_period, 6) AS next_half_year_period
FROM billing;

หมายเหตุ

  • period ต้องอยู่ในรูปแบบ YYYYMM และควรเป็นค่าที่มีเดือนอยู่ในช่วง 1–12 เท่านั้น
  • ผลลัพธ์จะได้ค่า YYYYMM ไม่ใช่ DATE โดยตรง
แชร์เรื่องนี้