gpt4 book ai didi

postgresql - 在 PostgreSQL 中选择 jsonb 列的值

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

我有一个表“Documents”,其中有一列“Tags”,数据类型为“jsonb”。标签列中的样本数据

 [{"Tag": "Social Media"}, {"Tag": "Adobe Creative"}]
[{"Tag": "Interactive"}]
[{"Tag": "Web 2.0"}, {"Tag": "Adobe Creative"},{"Tag": "Suite"}]

我需要获取“标签”的不同值,例如

 Social Media 
Adobe Creative
Interactive
Web 2.0
Suite

我是 PostgreSQL 的新手。

最佳答案

最短的版本是:

SELECT DISTINCT value->'Tag' AS tag
FROM Documents, jsonb_array_elements(Documents.Tags);

jsonb_array_elements() function将 JSONB 数组取消嵌套到一组行中,其中只有一个列称为“值”。它在 Documents 上使用隐式“横向连接”表。

这为您提供了不同的标签 jsonb值。如果你想要它们作为 text值,使用 ->>运算符而不是 -> .

关于postgresql - 在 PostgreSQL 中选择 jsonb 列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40122565/

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