การใช้ฟังก์ชัน MONTHNAME()
MySQL มีฟังก์ชัน MONTHNAME() สำหรับแปลงหมายเลขเดือน (1-12) เป็นชื่อเดือนภาษาอังกฤษ ต้องใช้ร่วมกับ STR_TO_DATE() เพื่อแปลงตัวเลขเป็นวันที่ก่อน:
SELECT MONTHNAME(STR_TO_DATE(your_column, '%m')) AS month_name
FROM your_table;
ตัวอย่างการใช้งาน
สร้างตารางและเพิ่มข้อมูล 1-12
CREATE TABLE MonthDemo (MonthNum INT);
INSERT INTO MonthDemo VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12);
คำสั่งแปลงเป็นชื่อเดือน
SELECT MONTHNAME(STR_TO_DATE(MonthNum, '%m')) AS MonthName
FROM MonthDemo;
ผลลัพธ์
+-----------+
| MonthName |
+-----------+
| January |
| February |
| March |
| April |
| May |
| June |
| July |
| August |
| September |
| October |
| November |
| December |
+-----------+
คำอธิบายรูปแบบวันที่
%m- เดือนเป็นตัวเลข 2 หลัก (01-12)%c- เดือนเป็นตัวเลข 1-2 หลัก (1-12)
หมายเหตุ: หากต้องการชื่อเดือนภาษาไทย ต้องตั้งค่า locale หรือใช้คำสั่ง CASE WHEN แปลงเอง เนื่องจาก MySQL คืนค่าภาษาอังกฤษโดยค่าเริ่มต้น