我在数据库中有两列,一次称为 purchase_date,另一列称为生命周期。我正在尝试过滤结果,以便在给定当前纳税年度时仅显示未超过其生命周期的资产。
我试过了
Asset.where("? < DATE_ADD(purchase_date,INTERVAL lifetime YEAR) AND purchase_date >= ?",Date.new(2012,1,1),Date.new(2012,1,1))
但是,后来我意识到,如果它确实有效,这将与 MySQL 相关联,如果它只适用于我的完整应用程序,那很好。但是,我想要一些与数据库无关的东西,特别是因为这是针对 Sqlite 进行测试的。带有此查询的 Sqlite 给了我以下异常:
ActiveRecord::StatementInvalid: SQLite3::SQLException: 接近生命周期
如何以与数据库无关的方式将整数列添加到我的 sql 语句中的日期列?
更新
我玩过 Squeel,但我认为它不会起作用。有可能检测到适配器并以此为基础。