Lọc bản ghi theo tháng trong MySQL
Sử dụng hàm MONTH() để trích xuất tháng từ cột ngày/thời gian.
Tạo bảng và chèn dữ liệu
mysql> create table DemoTable1599 ( Shippingdate datetime ); Query OK, 0 rows affected (0.78 sec)
mysql> insert into DemoTable1599 values('2019-10-21');
mysql> insert into DemoTable1599 values('2018-12-12');
mysql> insert into DemoTable1599 values('2015-11-21');
mysql> insert into DemoTable1599 values('2017-12-31');
mysql> insert into DemoTable1599 values('2018-12-26');
Truy vấn lọc tháng 12
mysql> select * from DemoTable1599 where month(Shippingdate)=12;
Kết quả
+---------------------+ | Shippingdate | +---------------------+ | 2018-12-12 00:00:00 | | 2017-12-31 00:00:00 | | 2018-12-26 00:00:00 | +---------------------+ 3 rows in set (0.00 sec)
Mẹo mở rộng: Để lọc cả năm và tháng, sử dụng:
SELECT * FROM bang WHERE YEAR(cot_ngay) = 2019 AND MONTH(cot_ngay) = 12;
Hoặc dùng DATE_FORMAT(cot_ngay, '%Y-%m') = '2019-12' để tận dụng chỉ mục tốt hơn.