1

如何查询在特定时间创建的记录?我需要在数据库中为每条记录添加一个小时列吗?Ruby 将为 created_at.hour 返回一个不错的值,但我不能在如下查询中使用它:

results = Record.where("created_at.hour = ?", the_hour) 
4

2 回答 2

2

尝试:

results = Record.where("hour(created_at) = ?", the_hour) 

您需要使用 MySQLhour函数从时间戳中提取小时。

于 2012-06-30T17:48:47.920 回答
0

仅供其他人日后参考。

如果您碰巧使用 SQLite,其中hour无法使用从时间戳中提取小时的功能,请使用此解决方案。

def find_record_by_created_at_hour(certain_hour)
  Record.all.select {|record| record.created_at.hour == certain_hour }
end
于 2012-06-30T18:04:51.227 回答