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

Hiển thị bản ghi từ ngày hiện tại đến hết tháng trong MySQL

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.