我有一個導軌應用程序,它有一個Checkin
模型。我想查找當天特定時間範圍內的所有記錄。我如何編寫where
以獲取在12PM和4:30 PM之間創建的所有記錄?兩次導軌查詢
Q
兩次導軌查詢
7
A
回答
36
@ x1a4的答案應該對你有好處,但你可以使用範圍以更可讀和更短的方式做到這一點。
Chekin.where(created_at: Time.parse("12pm")..Time.parse("4:30pm"))
應該產生這樣的:
SELECT "checkins".*
FROM "checkins"
WHERE ("checkins"."created_at" BETWEEN '2012-05-28 12:00:00.000000' AND '2012-05-28 16:30:00.000000')
你可以用任何其他方法來創建一個時間變化Time.parse("12pm")
。
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
可能還是不包括在範圍內的第二值。 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. 導軌 - 查詢JSON場
- 2. 導軌 - 遍尋不查詢
- 3. 多表導軌查詢
- 4. 導軌可用性查詢
- 5. 導軌的has_many或查詢
- 6. 加速導軌查詢
- 7. 導軌使查詢更好
- 8. 導軌 - 查詢組總結
- 9. 導軌聯接查詢
- 10. 導軌 - 在。凡查詢
- 11. 導軌的has_many查詢
- 12. 導軌服務兩次頁面
- 13. 按鈕提交導軌形式兩次
- 14. 導軌3 - increment_counter增量兩次
- 15. MySQL查詢使用子查詢兩次
- 16. 兩個查詢在一個與活動記錄導軌4
- 17. SQL查詢返回兩次
- 18. Wordpress查詢運行兩次
- 19. PDO - 查詢執行兩次?
- 20. 兩次用mongodb查詢
- 21. MySQL查詢運行兩次
- 22. 使用查詢兩次mysql_fetch_array
- 23. 層次查詢兩個表
- 24. SQL查詢發現兩次
- 25. 兩次select查詢python
- 26. 導軌3.2的加載時間慢 - 調試顯示導軌加載兩次
- 27. 導軌3:數據庫查詢
- 28. 用導軌處理查詢字符串
- 29. 查詢postres與導軌和時區
- 30. 導軌 - Mongoid查詢在關聯領域
您正在使用哪個數據庫?獲得一天中的小時數的功能將有所不同。除了時間之外,如果您將存儲一天中的小時/分鐘,這將是最容易的。 –
我正在使用postgresql。我使用Rails提供的標準'created_at'時間戳列 –