Muốn chỉ lấy phần tháng từ ngày trong MySQL
Để chỉ lấy phần tháng, hãy sử dụng DATE_FORMAT().
Hãy tạo một bảng trước:
mysql> create table DemoTable753 (DueDate datetime); Query OK, 0 rows affected (0.51 sec)
Chèn một số bản ghi vào bảng bằng lệnh insert:
mysql> insert into DemoTable753 values('2019-06-21');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable753 values('2019-01-31');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable753 values('2018-12-01');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable753 values('2016-11-11');
Query OK, 1 row affected (0.23 sec)
Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select:
mysql> select * from DemoTable753;
Điều này sẽ tạo ra đầu ra sau:
+---------------------+ | DueDate | +---------------------+ | 2019-06-21 00:00:00 | | 2019-01-31 00:00:00 | | 2018-12-01 00:00:00 | | 2016-11-11 00:00:00 | +---------------------+ 4 rows in set (0.00 sec)
Truy vấn sau chỉ lấy phần tháng từ ngày trong MySQL:
mysql> select date_format(DueDate, '%M'), date_format(DueDate, '%m') from DemoTable753;
Điều này sẽ tạo ra đầu ra sau:
+---------------------------+---------------------------+ | date_format(DueDate, '%M') | date_format(DueDate, '%m') | +---------------------------+---------------------------+ | June | 06 | | January | 01 | | December | 12 | | November | 11 | +---------------------------+---------------------------+ 4 rows in set (0.00 sec)
Giải thích:
%M: Tên tháng đầy đủ (January, February, ...)%m: Số tháng 2 chữ số (01, 02, ..., 12)- Cũng có thể dùng
MONTH(DueDate)trả về số nguyên 1-12, hoặcMONTHNAME(DueDate)trả về tên tháng.