Checkin
モデルのレールアプリがあります。私は今日の特定の時間範囲内にあるすべてのレコードを探したい。午後12時から午後4時30分までに作成されたすべてのレコードを取得するには、どのようにしてwhere
を書きますか?それがうまくいくように2回のRailsクエリ
7
A
答えて
36
@ x1a4の回答はあなたには良いはずですが、範囲を使ってよりわかりやすい方法で行うことができます。あなたが時間を作成するための他の方法でTime.parse("12pm")
を変更することができます
SELECT "checkins".*
FROM "checkins"
WHERE ("checkins"."created_at" BETWEEN '2012-05-28 12:00:00.000000' AND '2012-05-28 16:30:00.000000')
:
Chekin.where(created_at: Time.parse("12pm")..Time.parse("4:30pm"))
それはのようなものを生成する必要があります。あなたは日付の間のレコードを見つけるために宝石の下に使用することができ
8
これは、UTCタイムゾーンを仮定して、見える:
Record.where('created_at > ? AND created_at < ?', Date.today + 12.hours, Date.today + 16.5.hours)
又はBETWEEN
有する:
Record.where('created_at BETWEEN ? AND ?', Date.today + 12.hours, Date.today + 16.5.hours)
BETWEEN
範囲内の第2の値を含んでもよいですか。 Postgres includes it。
0
、
非常に使いやすいし、[スターによって]より明確にこのgem [1]。私はこの宝石を使用しており、APIはより明確であり、ドキュメントもよく説明されています。ここで
Post.between_times(
Time.zone.now - 3.hours, # all posts in last 3 hours
Time.zone.now
)
あなたもPost.by_month("January", field: :updated_at)
は、マニュアルを参照してください、それを試してみてください私たちのフィールドを渡すことができます。
関連する問題
- 1. mongodbとの2回のクエリ
- 2. サブ/グループ最大2回のLinqクエリ
- 3. 1つのクエリで2回選択し、
- 4. Railsで角度ローディングヘッダとフッタを2回
- 5. Railsバックグラウンドジョブを2回実行する
- 6. ユニオンで列を2回クエリする
- 7. 2回実行するC#スレッド/クエリ
- 8. SQLクエリで2回並べ替える
- 9. Railsのクエリ
- 10. ソーシャルネットワークフィードのRailsクエリ
- 11. Railsの5クエリ
- 12. Michael HartlのRuby on Railsチュートリアル:第8.3章 - 2回のウェブサイトフォーム
- 13. 左の結合を1回のクエリで2回行う方法は?
- 14. Rails 3.1のリモートリクエストが2回送信される
- 15. Railsでこのメソッドをリファクタリングして、SQLクエリが2回実行されないようにします。
- 16. Railsの - のような2つのクエリを考えるSCOPES
- 17. 関連がない2つの異なるRailsモデルのSQLクエリ
- 18. Rails - JSONフィールドのクエリ
- 19. Railsクエリの質問
- 20. Railsとnamed_scopeのクエリ
- 21. CodeIgniter:1回の返信で2つのクエリ結果を表示
- 22. JPAの回避クエリ
- 23. クエリ - Ruby on Rails
- 24. Ruby on Rails 2の関連カウントに関するクエリ
- 25. 1クエリのMySQLから2回選択 - PHP
- 26. MarkLogicの要素単語クエリが2回以上失敗する
- 27. mysql - クエリで2回の差を計算する
- 28. ソート2回は、私はこのようなクエリを持って
- 29. MySQLテーブルからのクエリ - 同じフィールドを2回選択する
- 30. 同じテーブルの同じ列をグループで2回クエリします。
どのデータベースを使用していますか?時間帯を取得する機能は異なります。時間に加えて時間/分を保存するのが最も簡単です。 –
私はpostgresqlを使用しています。 Railsが提供する標準の 'created_at'タイムスタンプカラムを使用しています –