【问题标题】:Postgreql json data how to list all elements of an arrayPostgresql json数据如何列出数组的所有元素
【发布时间】:2021-10-04 16:34:48
【问题描述】:

我在 postgresql DB 表中有一个 jsonB 字段,它有这样的数据

{
  "units": [
    {
      "id": 299872379221376,
      "unitNumber": "1",
      "unitFloorSpace": 1,
      "createdTimeStamp": 1587994498586
    },
    {
      "id": 299872417011074,
      "unitNumber": "2",
      "unitFloorSpace": 2,
      "createdTimeStamp": 1588001330085
    }
  ]
}

我只想列出所有 unitNumbers,如下所示,对此的查询是什么?

1, 2、

我尝试过下面的 json 查询,但没有列出

Select form_data -> units -> unitNumbers from table where row_id =1;

【问题讨论】:

  • Edit 问题并展示您已经尝试过的内容。解释失败的原因/位置。具体(错误消息、意外结果等)。

标签: sql postgresql jsonb


【解决方案1】:

这是一种方法:

select jsonb_array_elements(jsonb_extract_path(jdata,'units')) ->> 'unitNumber' as UnitNumber
from tableName;

db小提琴here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-21
    • 2020-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多