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

Hiển thị tên tháng thay vì số tháng trong MySQL

Sử dụng hàm DATE_FORMAT() kết hợp STR_TO_DATE() để chuyển đổi chuỗi ngày sang định dạng tháng tên.

Ví dụ minh họa

Tạo bảng lưu ngày dưới dạng chuỗi:

mysql> CREATE TABLE DemoTable1320 (
    MonthName VARCHAR(20)
);

Chèn dữ liệu (định dạng dd/mm/yyyy):

mysql> INSERT INTO DemoTable1320 VALUES('10/10/2010');
mysql> INSERT INTO DemoTable1320 VALUES('11/12/2018');
mysql> INSERT INTO DemoTable1320 VALUES('12/01/2019');

Xem dữ liệu gốc:

mysql> SELECT * FROM DemoTable1320;
+------------+
| MonthName  |
+------------+
| 10/10/2010 |
| 11/12/2018 |
| 12/01/2019 |
+------------+

Truy vấn chuyển đổi sang tên tháng:

mysql> SELECT DATE_FORMAT(STR_TO_DATE(MonthName, '%d/%m/%Y'), '%M') FROM DemoTable1320;

Kết quả:

+-----------------------------------------------------+
| DATE_FORMAT(STR_TO_DATE(MonthName,'%d/%m/%Y'),'%M') |
+-----------------------------------------------------+
| October                                             |
| December                                            |
| January                                             |
+-----------------------------------------------------+

Giải thích:

  • STR_TO_DATE(MonthName, '%d/%m/%Y'): Chuyển chuỗi sang kiểu DATE theo định dạng ngày/tháng/năm.
  • DATE_FORMAT(date, '%M'): Định dạng ngày thành tên tháng đầy đủ (January, February...). Dùng %b cho tên viết tắt (Jan, Feb...).

Lưu ý: Nếu cột đã kiểu DATE/DATETIME, chỉ cần DATE_FORMAT(cot, '%M').