Sử dụng IF(dieu_kien, true_val, false_val) để trả về 1/0 (true/false) dựa trên so sánh cột timestamp với ngày hiện tại trừ khoảng thời gian.
Ví dụ minh họa
Giả sử hôm nay 2019-12-10. Tạo bảng DueDate:
mysql> CREATE TABLE DemoTable1890 (DueDate TIMESTAMP);
mysql> INSERT INTO DemoTable1890 VALUES('2017-12-10'),('2021-12-10'),('2018-04-24'),('2020-05-11');
Gán true (1) nếu DueDate > 2 năm trước (cũ), false (0) nếu gần:
mysql> SELECT IF(DueDate > CURDATE() - INTERVAL 2 YEAR, FALSE, TRUE) AS Status FROM DemoTable1890;
Kết quả (1=cũ, 0=gần):
+--------+ | Status | +--------+ | 1 | -- 2017-12-10 cũ > 2 năm | 0 | -- 2021-12-10 tương lai | 0 | -- 2018-04-24 < 2 năm | 0 | -- 2020-05-11 < 2 năm +--------+
Lưu ý: MySQL boolean là alias của TINYINT(1). IF trả về kiểu của nhánh true/false.