查找在上午9点到下午4点之间创建的所有数据Rails 3.2.1和postgreSQL

时间:2012-06-14 02:52:17

标签: ruby-on-rails ruby-on-rails-3 time

我要求显示在上午9点到下午5点之间插入的所有数据,忽略日期。

我试过了

.where(created_at: Time.parse("9am")..Time.parse("5pm"))

* 因为Time.parse导致当前数据和时间。因此,这只显示今天上午9点到下午5点之间的结果。但我需要在上午9点到下午5点之间输入的所有数据*


我试图在数据库中使用时间数据字段来解决。数据库存储正确,但是当我们通过rails查询时,01-01-2000年就被追加了。

虽然这是一个非常简单的问题,但我被困住了。

请帮我弄清楚这个问题。

1 个答案:

答案 0 :(得分:1)

PostgreSQL定义了这里描述的函数EXTRACThttp://www.postgresql.org/docs/current/interactive/functions-datetime.html

您可以使用以下内容进行查询:

SELECT * FROM (modelname) WHERE EXTRACT(HOUR FROM created_at) > (minhour) AND EXTRACT(HOUR FROM created_at) < (maxhour);