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

Kiểm tra điều kiện ngày đáo hạn và ngày hiện tại trong mệnh đề WHERE của MySQL

Để kiểm tra các điều kiện này, hãy sử dụng hàm IF() trong MySQL.

Ví dụ: Tạo bảng

mysql> CREATE TABLE demo89 (
    -> duedate DATE
    -> );
Query OK, 0 rows affected (0.78 sec)

Ví dụ: Chèn dữ liệu

mysql> INSERT INTO demo89 VALUES('2020-01-10');
Query OK, 1 row affected (0.55 sec)
mysql> INSERT INTO demo89 VALUES(NULL);
Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO demo89 VALUES('2020-11-29');
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO demo89 VALUES('2019-11-29');
Query OK, 1 row affected (0.09 sec)

Ví dụ: Hiển thị dữ liệu

mysql> SELECT * FROM demo89;

Kết quả:

+------------+
| duedate    |
+------------+
| 2020-01-10 |
| NULL       |
| 2020-11-29 |
| 2019-11-29 |
+------------+
4 rows in set (0.00 sec)

Ví dụ: Truy vấn kiểm tra ngày đáo hạn và ngày hiện tại

mysql> SELECT IF(duedate IS NULL OR duedate < CURDATE(), 'Wrong Date', duedate) AS Result
    -> FROM demo89;

Kết quả:

+------------+
| Result     |
+------------+
| Wrong Date |
| Wrong Date |
| 2020-11-29 |
| Wrong Date |
+------------+
4 rows in set (0.00 sec)

Giải thích: Truy vấn trả về "Wrong Date" nếu ngày đáo hạn là NULL hoặc nhỏ hơn ngày hiện tại (CURDATE()), ngược lại trả về chính ngày đáo hạn.