我尝试了这个,它返回了错误的行

SELECT `product_id`, `expiry` FROM `products_featured`
WHERE `notified_expiry` = FALSE
     AND `expiry` !=
    AND DATE_ADD(NOW(), INTERVAL 5 DAY) >= `expiry`


我想选择到期日期在从现在开始的5天内的所有行。

返回的行是

    [0]=>   array(2) {
    ["product_id"]=>
    string(2) "26"
    ["expiry"]=>
    string(10) "2010-07-07" }

    [1]=>   array(2) {
    ["product_id"]=>
    string(2) "38"
    ["expiry"]=>
    string(10) "2010-07-24" }

    [2]=>   array(2) {
    ["product_id"]=>
    string(2) "39"
    ["expiry"]=>
    string(10) "2010-07-07" }


如您所见,这些行中只有一行会在5天内发生(假设NOW()返回了我已确认的2010-07-22)。

我究竟做错了什么?谢谢。

最佳答案

SELECT `product_id`, `expiry` FROM `products_featured` WHERE `notified_expiry` = FALSE AND `expiry` != 0 AND DATE_ADD(NOW(), INTERVAL 5 DAY) >= `expiry` AND NOW() <= `expiry`

10-06 04:59