2017-10-03 15:02:47
で生成されたドキュメントがあります。Rails + ActiveRecord:比較の日付
その後、私は(私はRailsのを通してそれを実行するか、またはまっすぐなSQLコンソールを使用して、結果が同じであれば、それは問題ではない)、このレール/ SQLクエリを持っている:
SELECT * FROM table where needed_column <= '2017-10-03';
このクエリは戻らないだろう私は2017-10-03 15:02:47
で生成された文書を私に返します。私が実行しない場合は、しかし、このクエリ:
SELECT * FROM table where needed_column <= '2017-10-03 23:59:59';
は、それから私は(2017-10-03 15:02:47
上で生成)に必要な書類を取得します。
この問題を解決するために、手動で時間をクエリに追加することができます(23:59:59
)が、これはあまり洗練された解決策ではありません。
私はRails 5、AR、PostgreSQLを使用しています - 手動でタイムスタンプをクエリに追加するよりも、この問題を解決する良い方法がありますか?
は
"end_of_day"を試してみてください:例えば:Time.now.end_of_day月曜日09月23:59:59 UTC 2017 –
私はそれが2017-10-03 15:02:47が2017年よりも大きいと考えられているからだと思います。 10-03。あなたは、SELECT * FROMテーブルwhere needed_column <'2017-10-04'を使用することができます。 –
このクエリを試すSELECT * FROM table needed_column <= Date '2017-10-03'; –