2017-02-18 22 views
0

localhostのデータベースにレコードを取得しようとしています。Rails | SQL where datetimeとdateの場合

私の列は&からdaterangesであり、私はレコードを見つけるためにdaterangeをdateに変換したいと考えています。 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 –