【问题标题】:Iteration over json array elements in PostgreSQL迭代 PostgreSQL 中的 json 数组元素
【发布时间】:2019-03-10 06:50:37
【问题描述】:

我从 postgresql 数据库的列中获得了两个 JSON 数据行,看起来像这样。

{
  "details":[{"to":"0:00:00","from":"00:00:12"}]
}

{
  "details":[ 
             {"to":"13:01:11","from":"13:00:12"}, 
             {"to":"00:00:12","from":"13:02:11"}
            ]
}

我想遍历详细信息并使用 postgresql 中的查询仅获取“来自”键值。 我想要这样的

                             from
                           00:00:12
                           13:00:12
                           13:02:11

【问题讨论】:

  • 列的数据类型是jsonb还是json?
  • 是的,列的数据类型是jsonb

标签: arrays json postgresql


【解决方案1】:

使用jsonb_array_elements

select j->>'from' as "from" from t 
cross join jsonb_array_elements(s->'details') as j;

Demo

【讨论】:

  • 以上详细信息来自两列,我需要使用键“from”获取所有其他列,例如 id。从 13:00:00 到 13:03:00 之间的时间范围。
  • @rakesh :这回答了你原来的问题,请考虑询问一个新的问题并提供更多详细信息
猜你喜欢
  • 2013-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-21
  • 1970-01-01
  • 2021-12-04
  • 1970-01-01
  • 2013-11-21
相关资源
最近更新 更多