Ruby on rails 使用postgresql在两小时之间查询Rails时间戳
我正在尝试获取postgresql中与日期无关的小时+分钟间隔的记录。例如,上个月15:15到18:30之间创建的所有记录 我发现了这一点,但它在postgresql中不起作用 我只试了几个小时Ruby on rails 使用postgresql在两小时之间查询Rails时间戳,ruby-on-rails,postgresql,Ruby On Rails,Postgresql,我正在尝试获取postgresql中与日期无关的小时+分钟间隔的记录。例如,上个月15:15到18:30之间创建的所有记录 我发现了这一点,但它在postgresql中不起作用 我只试了几个小时 Review.where("extract('hour' from created_at) > 15 AND extract('hour' from created_at) < 18") SELECT "reviews".* FROM "reviews" WHERE (extract('h
Review.where("extract('hour' from created_at) > 15 AND extract('hour' from created_at) < 18")
SELECT "reviews".* FROM "reviews" WHERE (extract('hour' from created_at) > 15 AND extract('hour' from created_at) < 18)
Review.其中(“从创建的时间提取('hour')>15,从创建的时间提取('hour')<18”)
从“评论”中选择“评论”。*其中(摘录(创建时的小时数)>15,摘录(创建时的小时数)<18)
但是,我不知道如何处理会议记录。您可以将在创建的
转换为时间(不包括日期),然后在
之间使用
#= select * from times;
t
---------------------
2016-01-01 12:00:00
2016-02-02 13:00:00
2016-03-03 14:00:00
2016-04-04 15:00:00
(4 rows)
通过轨道,这将是:
Review.where("created_at::time BETWEEN '12:30:00' AND '14:30:00'")
你有没有试用过postgre版本的解决方案?是的,它包含了与我上面写的内容类似的摘录。关键字between在哪里?这个解决方案只考虑了几个小时,我还需要几分钟。
Review.where("created_at::time BETWEEN '12:30:00' AND '14:30:00'")