0

我想检索开始日期和结束日期之间的日期在今天和十天之后的数据。我在 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')
4

2 回答 2

1

当 a < d 且 b > c 时,区间 (a, b) 与 (c, d) 重叠。此外,该curdate()函数返回当前日期(“今天”)。要计算未来十天的日期,您可以使用+ interval 10 day.

结合你得到的这些信息:

select ... where users.to > curdate() 
and users.from < curdate() + interval 10 day
于 2012-11-25T12:58:16.657 回答
0

以下是逻辑片段而不是确切的代码。请试试。

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将根据上述任何 10 天间隔的日期进行验证from-date

希望这是有道理的......但再次,Joni 的回答填补了你今天的情况。:)

于 2012-11-25T13:00:55.050 回答