我想检索开始和结束日期之间的日期在今天和十天之后的数据。我在 rails 中这样做,但即使我在 MySQL 中得到查询,我也可以将其转换为 rails 活动记录。
像这样的东西:
select * from users where( between users.from and users.to = between '2012-11-25 11:52:33' and '2012-12-05 11:52:33')
区间 (a, b) 与 (c, d) 重叠 a
结合这些信息,您可以得到:
select ... where users.to > curdate()
and users.from < curdate() + interval 10 day
Follwing是逻辑片段,而不是确切的代码。请尝试。
select * from users
where users.fromDate between '2012-11-25 11:52:33' and '2012-12-05 11:52:33'
and users.toDate between '2012-11-25 11:52:33' and '2012-12-05 11:52:33';
同时检查 * SQLFIDDLE 中的以下示例代码
根据您的问题的措辞进行编辑。
猜猜你过得更好,
where users.from between users.from and users.from + interval 10day
and users.to <= user.from + interval 10 day
这意味着,你的from date
可以是任何东西(今天,昨天,一个月前,两年到未来......因此,您的to-date
将根据与上述from-date
间隔 10 天的任何日期进行验证
希望这是有道理的...但同样,乔尼的回答填补了你今天的共识。:)