2011-09-27 79 views
1

我在获取正确的价值方面有点困难。Mysql查询以显示确切的7天到期客户

我想查询的是,在7天内过期的用户,例如2011年10月4日,查询应仅显示该特定日期的结果。现在我查询如下:

select * from users where exp_date between now() and adddate(now(), INTERVAL 7 DAY). 

此查询会一直显示到下一个7天。

但我想只显示在第七天到期的客户,因为我移动到明天的日期,那么今天显示的查询不应该显示在明天的显示上,而是显示2011年10月5日到期的客户,等等。

我该如何做到这一点?请帮助

回答

0

试试这个:

SELECT * FROM users WHERE exp_date = DATE_ADD(CURDATE(), INTERVAL 7 DAY) 

确保您exp_dateDATE

+1

感谢大家的帮助,我从另一个论坛得到了这个答案。欣赏...答案是... WHERE TO_DAYS(exp_date) - TO_DAYS(NOW())= 7 :) – sappy

+0

为了更新你,你的代码也工作得很好,非常感谢。 – sappy

+0

很酷。你应该选择一个最能帮助你的答案,这样其他人也可以从中受益:) –

0

试试这个
WHERE exp_date = CURDATE()+7

为你使用日历移动这样您可以添加天或减去天:
WHERE exp_date = CURDATE()+7+$daysoffset
其中$daysoffset是0今日,1明天。

+0

无结果或错误显示 – sappy

+0

我也试过这个问题,但结果与上述相同。 'exp_date' <= ADDDATE(NOW(),INTERVAL 7 DAY)和'exp_date'> = NOW() – sappy