gpt4 book ai didi

sql - 将 json 列转换为新的 json 列

转载 作者:行者123 更新时间:2023-11-29 13:39:00 30 4
gpt4 key购买 nike

我有一个 postgres 表,其中有一个名为 data 的列,如下所示:

data
{'a': 3, 'b': 0, 'c':[32,55]}
{'a': 5, 'b': 10, 'c':[20,30,50]}
...
...

我想从中获取一个新列,新的 json 仅包含“a”和“c”。

期望的输出:

{'a': 3, 'c':[32,55]}
{'a': 5, 'c':[20,30,50]}

我尝试使用#>,但我并没有真正得到在线文档这是选择 {'a': 3} 的尝试,但我只得到 3

SELECT
id
, data#> '{a}' as data
FROM raw_daily_service.programuser

最佳答案

我认为这就是您尝试实现的目标。这是 json 的完整列表函数和运算符。

我们需要在 json_each_text() 之后使用 json_build_object() 重建您的对象

 SELECT id, json_build_object(key,value)
FROM raw_daily_service.programuser t
JOIN json_each_text(t.data) d ON true
WHERE key in ('a', 'c')

关于sql - 将 json 列转换为新的 json 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58213877/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com