gpt4 book ai didi

sql - Postgres JSON : get the first node value without knowing the key

转载 作者:行者123 更新时间:2023-12-05 09:15:07 25 4
gpt4 key购买 nike

我想在不知道 key 的情况下获取第一个节点值。

{"dog":"198","cat":"2835"}

我可以使用 json_object_keys() 返回所有键,每行 1 个,但我不想要这个,我只想要 json 中的第一个节点值。

我要返回198

我该怎么做?

最佳答案

demo: db<>fiddle

WITH jsondata AS (
SELECT '{"dog":"198","cat":"2835"}'::json as data
)
SELECT
value
FROM jsondata, json_each_text(data)
LIMIT 1
  1. json_each_text 将所有元素展开为一行,每行有两列 keyvalue 作为 text 类型(如果你喜欢你可以把这个文本转换成一个整数)
  2. LIMIT 输出到第一个


注意:通常在 JSON 对象中没有“第一个”元素。元素的顺序不固定。对象 {"a":1, "b":2} 等于 {"b":2, "a":1}。因此,您有可能获得这两个值中的任何一个。它可能是完全随机的。例如。在 this fiddle我没有转换成 json 类型,而是类型 jsonb。这给出了 cat。所以这取决于内部状态,哪个被选为“第一个”。

关于sql - Postgres JSON : get the first node value without knowing the key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52986036/

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