Rails基于hstore值的查询

时间:2016-02-08 06:47:37

标签: ruby-on-rails postgresql hstore

我想查询PG数据库上的hStore列,并仅返回与特定键和值对应的值。 hstore列包含以下方式的信息

hours: {"tue_1_open"=>"19:30", "tue_1_close"=>"21:45"}

我能够根据键和值进行查询,如下所示

Model.where("hours @> hstore(:key,:value )", key: "tue_1_open", value: "19:30")

但我想查询哪个值比特定时间更重要。我想查询类似

的内容
Model.where("hours @> hstore(:key,:value )", key: "tue_1_open", value: ">= 19:30")

知道如何实现这个目标吗?

1 个答案:

答案 0 :(得分:0)

你可以尝试在整数而不是时间

中获得更大的价值
Model.where("(hours ? 'tue_1_open')::int > 19")

对于日期时间,'tue_1_open'的值应为日期时间值

Model.where("(hours ? 'tue_1_open')::timestamp > Time.now")