2017-02-18 43 views
0

我想获取本地数据库上的记录。Rails | SQL在哪里日期时间和日期

我的列从&到dateranges,我想将日期范围转换为日期以查找记录。 date = Date.parse(2017-02-17) sc = schedules.where("from <= ? AND to >= ?",date,date)给出错误;

SELECT "schedule_days".* FROM "schedule_days" WHERE "schedule_days"."car_id" = ? AND (from <= '2017-02-17' AND to >= '2017-02-17') [["car_id", 2]] SQLite3::SQLException: near "from": syntax error: SELECT "schedule_days".* FROM "schedule_days" WHERE "schedule_days"."car_id" = ? AND (from <= '2017-02-17' AND to >= '2017-02-17') ActiveRecord::StatementInvalid: SQLite3::SQLException: near "from": syntax error: SELECT "schedule_days".* FROM "schedule_days" WHERE "schedule_days"."car_id" = ? AND (from <= '2017-02-17' AND to >= '2017-02-17')

这是问题,因为从&到有日期时间?我也试过了;

schedules.where("date(from) <= ? AND date(to) >= ?",date,date)没有运气。然后,我会将此代码推送到heroku postgresql

回答

1

FROM是SQL中的保留字。这可能是因为解析器没有意识到您引用了表中的列而未使用FROM关键字。

您是否已尝试使用不同的变量名称或别名?

+0

更改列名解决了问题http://stackoverflow.com/questions/1992019/how-can-i-rename-a-database-column-in-a-ruby-on-rails-migration –