2014-10-01 158 views
1

我有一个使用MySQL数据库的rails 3应用程序。部分功能是我想查询一个表我的数据库的所有记录,其中:MySQL查询检查日期时间列

updated_at + 1.year <= DateTime.now 

,但我有写这会给我的预期结果的查询问题。任何想法我可以怎么做呢?

+0

您正在做mySql查询或活动记录查询? – Surya 2014-10-01 02:22:14

+0

除了语法之外......为了获得最佳查询性能,您希望提交给数据库的SQL文本的形式为**'column <= const-const' **,而不是**'column +常量<= const' **。 (对于后一种形式,比较左侧的表达式需要针对表中的*每行*进行评估;对于左侧的裸露列,MySQL可以对合适的索引使用范围扫描操作。 – spencer7593 2014-10-01 03:03:21

回答

1

尝试最新功能:

updated_at + interval 1 year <= now() 
0

我会

where('updated_at <= ?', 1.year.ago)` 

去,因为它是更容易理解。