Yêu cầu
Lấy các bản ghi có BookingDate từ hôm nay (CURDATE()) đến ngày cuối cùng của tháng hiện tại (LAST_DAY(CURDATE())).
1. Tạo bảng
mysql> create table DemoTable (
BookingDate date
);
Query OK, 0 rows affected (0.67 sec)
2. Chèn dữ liệu
mysql> insert into DemoTable values('2019-09-21');
mysql> insert into DemoTable values('2018-09-10');
mysql> insert into DemoTable values('2019-09-10');
mysql> insert into DemoTable values('2019-09-08');
mysql> insert into DemoTable values('2016-09-18');
3. Xem dữ liệu
mysql> select * from DemoTable;
+-------------+ | BookingDate | +-------------+ | 2019-09-21 | | 2018-09-10 | | 2019-09-10 | | 2019-09-08 | | 2016-09-18 | +-------------+ 5 rows in set (0.00 sec)
4. Truy vấn lọc ngày hiện tại đến hết tháng
mysql> select * from DemoTable
where BookingDate between curdate() and last_day(curdate());
Kết quả (giả sử hôm nay là 2019-09-21):
+-------------+ | BookingDate | +-------------+ | 2019-09-21 | | 2019-09-10 | | 2019-09-08 | +-------------+ 3 rows in set (0.01 sec)
Lưu ý: BETWEEN bao gồm cả hai đầu. Hàm LAST_DAY() trả về ngày cuối tháng của ngày đầu vào.