Hai hàm sau cho phép chúng ta lấy tên tháng từ một ngày trong MySQL.
MONTHNAME()
Chức năng
MONTHNAME()
chức năng được thiết kế đặc biệt để trả về tên tháng từ một ngày. Để làm điều này, hãy chuyển ngày cho hàm khi gọi nó. Tên đầy đủ của tháng được trả lại.
Ví dụ:
SELECT MONTHNAME('2030-10-25');
Kết quả:
October
Ngôn ngữ được sử dụng cho tên tháng được kiểm soát bởi giá trị của lc_time_names
biến hệ thống. Xem MONTHNAME()
Ví dụ cho một ví dụ về cách điều này ảnh hưởng đến đầu ra. Ngoài ra, hãy xem Cách đặt Ngôn ngữ cho Kết nối Hiện tại trong MySQL để biết thêm thông tin.
DATE_FORMAT()
Chức năng
DATE_FORMAT()
hàm trả về một ngày nhất định ở một định dạng được chỉ định. Để sử dụng hàm này, hãy chỉ định ngày và định dạng mong muốn khi bạn gọi hàm.
Bạn có thể trả lại tên tháng đầy đủ bằng cách chuyển %M
dưới dạng chuỗi định dạng.
Ví dụ:
SELECT DATE_FORMAT('2030-12-25', '%M');
Kết quả:
December
Ngôn ngữ được sử dụng cho tên tháng được kiểm soát bởi giá trị của lc_time_names
biến hệ thống.
Tên tháng ngắn
Chuyển %b
đến DATE_FORMAT()
hàm trả về tên tháng ngắn hạn.
Ví dụ:
SELECT DATE_FORMAT('2030-12-25', '%b');
Kết quả:
December
Điều này có thể được sao chép với MONTHNAME()
chức năng bằng cách sử dụng LEFT()
để lấy 3 ký tự đầu tiên từ tên tháng.
Ví dụ:
SELECT LEFT(MONTHNAME('2030-12-25'), 3);
Kết quả:
December
Khái niệm tương tự có thể đạt được bằng cách chuyển đổi kết quả của MONTHNAME()
sang kiểu dữ liệu ba ký tự với một hàm như CAST()
.
Tuy nhiên, trong khi phương pháp này hoạt động trong en_US
, nó có thể không phải lúc nào cũng hoạt động như mong đợi ở các ngôn ngữ khác. Ví dụ:
SET lc_time_names = 'th_TH';
SELECT
DATE_FORMAT('2030-12-25', '%b') AS "Short 1",
LEFT(MONTHNAME('2030-12-25'), 3) AS "Short 2",
MONTHNAME('2030-12-25') AS "Full";
Kết quả:
+----------+-----------+-----------------------+ | Short 1 | Short 2 | Full | +----------+-----------+-----------------------+ | ธ.ค. | ธัน | ธันวาคม | +----------+-----------+-----------------------+