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

Định dạng ngày MySQL trả về Tên tháng và Năm?

Sử dụng DATE_FORMAT() với specifier %M %Y để hiển thị "Tháng Năm" (ví dụ: April 2013).

Tạo bảng

mysql> CREATE TABLE DemoTable (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> AdmissionDate DATE
    -> );

Chèn dữ liệu

mysql> INSERT INTO DemoTable(AdmissionDate) VALUES('2013-04-21');
mysql> INSERT INTO DemoTable(AdmissionDate) VALUES('2014-01-31');
mysql> INSERT INTO DemoTable(AdmissionDate) VALUES('2016-09-01');
mysql> INSERT INTO DemoTable(AdmissionDate) VALUES('2018-12-12');
mysql> INSERT INTO DemoTable(AdmissionDate) VALUES('2019-04-01');

Xem dữ liệu

mysql> SELECT * FROM DemoTable;
+----+---------------+
| Id | AdmissionDate |
+----+---------------+
| 1  | 2013-04-21    |
| 2  | 2014-01-31    |
| 3  | 2016-09-01    |
| 4  | 2018-12-12    |
| 5  | 2019-04-01    |
+----+---------------+

Định dạng Tháng Năm

mysql> SELECT DATE_FORMAT(AdmissionDate, '%M %Y') AS MonthNameAndYear FROM DemoTable;
+------------------+
| MonthNameAndYear |
+------------------+
| April 2013       |
| January 2014     |
| September 2016   |
| December 2018    |
| April 2019       |
+------------------+

Các specifier tháng/năm

SpecifierÝ nghĩaVí dụ
%MTên tháng đầy đủJanuary, April
%mTháng 2 chữ số01, 04
%bTên tháng viết tắtJan, Apr
%YNăm 4 chữ số2013, 2019
%yNăm 2 chữ số13, 19

Format phổ biến khác

DATE_FORMAT(date, '%d/%m/%Y')       -- 21/04/2013
DATE_FORMAT(date, '%W, %d %M %Y')   -- Sunday, 21 April 2013
DATE_FORMAT(date, '%Y-%m')          -- 2013-04 (cho GROUP BY tháng)
DATE_FORMAT(date, '%H:%i %d/%m/%Y') -- 15:45 21/04/2013

Ngôn ngữ hiển thị

Tên tháng (%M, %b) phụ thuộc vào lc_time_names session variable:

SET lc_time_names = 'vi_VN'; -- Tháng tiếng Việt: Tháng Tư, Tháng Một...
SELECT DATE_FORMAT('2013-04-21', '%M %Y'); -- Tháng Tư 2013