我尝试了这个,它返回了错误的行
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`