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

Hiển thị tất cả bản ghi bỏ qua ngày hiện tại trong MySQL

Để lấy tất cả các bản ghi trừ những bản ghi có ngày bằng ngày hiện tại, sử dụng hàm DATE() kết hợp với CURDATE() trong mệnh đề WHERE.

Tạo bảng và chèn dữ liệu

mysql> CREATE TABLE DemoTable (
    -> Name VARCHAR(100),
    -> DueDate DATETIME
    -> );
Query OK, 0 rows affected (0.54 sec)

Giả sử ngày hiện tại là 2019-07-05:

mysql> INSERT INTO DemoTable VALUES('Chris', '2019-06-24');
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO DemoTable VALUES('Chris', '2018-01-01');
Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO DemoTable VALUES('Robert', '2019-07-05');
Query OK, 1 row affected (0.21 sec)
mysql> INSERT INTO DemoTable VALUES('Carol', '2019-08-03');
Query OK, 1 row affected (0.22 sec)

Truy vấn loại bỏ bản ghi ngày hôm nay

mysql> SELECT * FROM DemoTable WHERE DATE(DueDate) != CURDATE();

Kết quả (bỏ qua bản ghi của Robert với ngày 2019-07-05):

+-------+---------------------+
| Name  | DueDate             |
+-------+---------------------+
| Chris | 2019-06-24 00:00:00 |
| Chris | 2018-01-01 00:00:00 |
| Carol | 2019-08-03 00:00:00 |
+-------+---------------------+
3 rows in set (0.00 sec)

Mẹo: Hàm DATE() trích xuất phần ngày từ datetime, cho phép so sánh chính xác với CURDATE().