Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

แปลงหมายเลขเดือนเป็นชื่อเดือนใน MySQL ด้วย MONTHNAME()


การใช้ฟังก์ชัน 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 คืนค่าภาษาอังกฤษโดยค่าเริ่มต้น