2016-07-16 11 views
0

日付範囲の検索がレールにありますが、以下のクエリでは終了日と同じ日付は含まれていません。クエリで終了日レコードが返されません

Sale.where("created_at >= ? AND created_at <= ?","Fri, 15 Jul 2016", "Sat, 16 Jul 2016")

誰も私を啓発する気?

私は、日付を送信し、Salesテーブル内で検索するための形式でdate_fieldsを使用しています。

答えて

1

使用しているデータベースは何ですか?私はデータベースプロバイダによっては>演算子を決定できないと思う。

日付範囲の場合、「販売」に変換されるこのステートメントを使用するのが最善の方法です。「created_at」ですか? AND?

このような何か:

Sale.where(created_at: Date.today - 1.day..Date.today) 

修正ユースケースに合わせて日付範囲を使用する

はそれはそれはそれは最後に私のレコードを持っていなかった理由と思われる

0

を役に立てば幸い私も時間を明確にする必要があったからです。だから私は1日の終わりまでにレコードを検索する必要があった。

私はpostgresデータベースを使用しています。ここで働いています。

Sale.where("sales.created_at >= ? AND sales.created_at <= ?", date_start.beginning_of_day, date_end.end_of_day) 
+0

また、試してみることもできます:Sale.where( "sales.created_at between?and?"、date_start.beginning_of_day、date_end.end_of_day) –

関連する問題