0

設定しようとしている rake タスクで、PostgreSQL のクエリでエラーが発生します。

  posts = Post.where("status IS ? AND publish_on < ?", 'queued', Time.now)

エラーは次のとおりです。

PGError: ERROR:  syntax error at or near "'queued'"
    LINE 1: SELECT "posts".* FROM "posts"  WHERE (status IS 'queued' AND...
                                                            ^
    : SELECT "posts".* FROM "posts"  WHERE (status IS 'queued' AND publish_on < '2012-04-29 23:44:06.423516')

最初は引用符だと思っていましたが、変更してもうまくいきませんでした。今、私はおそらくどのようにand節を構築していると思いますか?

4

1 に答える 1

2

ISTRUEFALSE、またはとの比較専用ですNULL。あなたはおそらく=代わりに欲しい:

posts = Post.where("status = ? AND publish_on < ?", 'queued', Time.now)
于 2012-04-29T23:53:16.000 に答える