Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Lấy tên tháng từ số tháng trong MySQL


Sử dụng hàm MONTHNAME() kết hợp STR_TO_DATE() để chuyển số tháng (1-12) thành tên tháng.

Cú pháp

SELECT MONTHNAME(STR_TO_DATE(month_column, '%m')) AS month_name
FROM your_table;

Giải thích:

  • STR_TO_DATE(value, '%m') chuyển chuỗi số thành giá trị DATE (ngày mặc định là 1).
  • MONTHNAME(date) trả về tên tháng đầy đủ (January, February...).

Ví dụ minh họa

mysql> CREATE TABLE MonthDemo (MonthNum INT);
Query OK, 0 rows affected (0.87 sec)

mysql> INSERT INTO MonthDemo VALUES (1),(2),(3),(4),(5),(6),
(7),(8),(9),(10),(11),(12);
Query OK, 12 rows affected

Truy vấn:

mysql> SELECT MONTHNAME(STR_TO_DATE(MonthNum, '%m')) AS MonthName 
FROM MonthDemo;

Kết quả:

+-----------+
| MonthName |
+-----------+
| January   |
| February  |
| March     |
| April     |
| May       |
| June      |
| July      |
| August    |
| September |
| October   |
| November  |
| December  |
+-----------+

Cách khác: Sử dụng DATE_FORMAT()

SELECT DATE_FORMAT(STR_TO_DATE(MonthNum, '%m'), '%M') AS MonthName
FROM MonthDemo;

%M trong DATE_FORMAT cũng trả về tên tháng đầy đủ.

Lưu ý

  • Nếu cột đã là kiểu DATE/DATETIME, dùng trực tiếp: MONTHNAME(date_column).
  • Hàm này trả về tên tiếng Anh. Để localize, cần thiết lập lc_time_names.