【问题标题】:extract all values of postgresql jsonb object提取 postgresql jsonb 对象的所有值
【发布时间】:2018-03-05 16:26:17
【问题描述】:

我有一个 postgresql 表 t1,id 整数,数据 jsonb

   id    |   data
--------------------
    1    | {"1":{"11":11},"2":{"12":12}}

我需要一个函数来提取单独行中的所有键/值 像这样

   key   |   values
----------------------
    1    |  {"11":11}
    2    |  {"12":12}

在“hstore”数据类型中,有“hvals”功能,这样做
但在 jsonb 中我没有找到类似的功能

【问题讨论】:

    标签: postgresql jsonb


    【解决方案1】:

    您正在寻找jsonb_each

    with t1 (id, data) as (
      values (1, '{"1":{"11":11},"2":{"12":12}}'::jsonb)
    )
    select t.*
    from t1, jsonb_each(data) as t(k,v)
    

    返回:

    k | v         
    --+-----------
    1 | {"11": 11}
    2 | {"12": 12}
    

    【讨论】:

      猜你喜欢
      • 2020-12-13
      • 2017-06-23
      • 2018-06-23
      • 1970-01-01
      • 1970-01-01
      • 2016-04-27
      • 2019-10-02
      • 2021-12-06
      • 1970-01-01
      相关资源
      最近更新 更多