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

ฟังก์ชัน MONTH() ใช้เพื่อดึงเลขเดือน (1–12) จากข้อมูลวันที่หรือวันเวลา เหมาะสำหรับการกรอง, วิเคราะห์ หรือจัดกลุ่มข้อมูลตามเดือน เช่น รายงานยอดขายรายเดือน หรือรายการในเดือนที่เลือก

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

  1. ใช้กรองข้อมูลที่เกิดในเดือนใดเดือนหนึ่ง
  2. ใช้จัดกลุ่มข้อมูล (GROUP BY) เพื่อสรุปผลตามเดือน
  3. ใช้วิเคราะห์พฤติกรรม, ยอดขาย, หรือลูกค้าในแต่ละเดือน
  4. ใช้ร่วมกับ YEAR() เพื่อสร้างรายงานรายเดือนแบบละเอียด

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

MONTH(date_value)
  • date_value คือข้อมูลประเภท DATE, DATETIME, TIMESTAMP หรือ string ที่แปลงเป็นวันเวลาได้ เช่น '2025-04-10', NOW(), order_date

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

ดึงเลขเดือนจากวันที่

SQL
SELECT MONTH('2025-04-10') AS month_number;
-- ผลลัพธ์: 4

ดึงเดือนจากวันเวลาปัจจุบัน

SQL
SELECT MONTH(NOW()) AS current_month;
-- เช่น ผลลัพธ์: 4 (ถ้าเป็นเดือนเมษายน)

ตัวอย่างการประยุกต์ใช้งาน

แสดงรายการที่เกิดขึ้นในเดือนเมษายน

SQL
SELECT *
FROM orders
WHERE MONTH(order_date) = 4;

สรุปยอดขายรายเดือน

SQL
SELECT MONTH(order_date) AS order_month, COUNT(*) AS total_orders
FROM orders
GROUP BY order_month
ORDER BY order_month;

สรุปยอดขายรายเดือน + ปี

SQL
SELECT YEAR(order_date) AS order_year,
       MONTH(order_date) AS order_month,
       SUM(total_amount) AS monthly_sales
FROM orders
GROUP BY order_year, order_month
ORDER BY order_year, order_month;

หมายเหตุ

  • MONTH() คืนค่าเป็นเลข 1 ถึง 12 เท่านั้น ไม่ใช่ชื่อเดือน ถ้าต้องการชื่อเดือน ให้ใช้ MONTHNAME()
  • ถ้าใส่ค่าวันที่ไม่ถูกต้อง หรือเป็น NULL จะคืนค่า NULL
แชร์เรื่องนี้