gpt4 book ai didi

postgresql - 使用数组字段查询 JSONB

转载 作者:行者123 更新时间:2023-11-29 11:47:12 24 4
gpt4 key购买 nike

如果我有一个名为 valuejsonb 列,其中包含以下字段:

{"id": "5e367554-bf4e-4057-8089-a3a43c9470c0",
"tags": ["principal", "reversal", "interest"],,, etc}

我如何找到包含给定标签的所有记录,例如:如果给出:["reversal", "interest"]它应该找到所有带有“reversal”或“interest”或两者的记录。

到目前为止,我的实验让我感到厌恶:

select value from account_balance_updated 
where value @> '{}' :: jsonb and value->>'tags' LIKE '%"principal"%';

当然这是完全错误和低效的

最佳答案

假设您使用的是 PG 9.4+,您可以使用 jsonb_array_elements() 函数:

SELECT DISTINCT abu.*
FROM account_balance_updated abu,
jsonb_array_elements(abu.value->'tags') t
WHERE t.value <@ '["reversal", "interest"]'::jsonb;

关于postgresql - 使用数组字段查询 JSONB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39480863/

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