【问题标题】:Query all objects within json array查询json数组中的所有对象
【发布时间】:2020-11-12 11:10:59
【问题描述】:

我希望对数据库中的列进行查询,但该列的类型为 jsonb。这是结构的一个例子:

select json_column->>'left' from schema.table;

[{"id": 123, "name": "Joe"}, 
 {"id": 456, "name": "Jane"}, 
 {"id": 789, "name": "John"}, 
 {"id": 159, "name": "Jess"}]

基本上我只是想从中返回所有名称字段,但我无法弄清楚。

我试过了

select json_column->'left'->>'name' from schema.table

但这只是返回一个空白值。

我也试过了:

select elem->>'name'
from schema.table m,
jsonb_array_elements(json_column->'left') elem;

但这给了我:

ERROR:  cannot extract elements from an object

【问题讨论】:

    标签: sql json postgresql


    【解决方案1】:

    当我插入 where 子句时,这似乎有效,例如:

    select elem->>'name'
    from schema.table m,
    jsonb_array_elements(json_column->'left') elem
    where m.id = 1;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-19
      • 2016-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-16
      • 1970-01-01
      相关资源
      最近更新 更多