Để 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.