我尝试了这个并返回了错误的行
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
,我已经确认了这一行。
我做错了什么?感谢。
答案 0 :(得分:2)
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`
答案 1 :(得分:1)
选择
product_id
,expiry
FROM products_featured
哪里
notified_expiry
= FALSE
和expiry
!= 0
和DATEDIFF(现在(),expiry
)在0和5之间