我正在使用Rails 5 + Postgres。
我有一个名为data
的Postgres JSONB列,其数据类似于:
{username: 'McGruff', timestamp: 123456789}
我想查询两个时间戳之间 之间的数据,以获取所有记录都具有某个时间戳范围(例如最近24小时)内的记录的子集。
使用下面的评论,答案是:
Model.where("(data->'timestamp')::int BETWEEN ? AND ?", start, end)
感谢您的帮助!
答案 0 :(得分:0)
通过提供start
和end
输入作为字符串来使用 where 子句。作为以字符串格式存储在 jsonb 列中的数据。
如下所示:
Model.where((data->>'timestamp')::int between ? and ?, start, end)