gpt4 book ai didi

json - PostgreSQL json 搜索

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

我正在考虑将一些数据存储在 postgres jsonb 数据类型中。会有这样的结构

{"name": "Jhon Smith", "emails": ["smith@test.com", "agent@matrix.net"],
"phones": ["123456789", "987654321"]}.

我知道,我可以像这样搜索这个结构

where contact->'emails' @> '"smith@test.com"'::jsonb;

但是我需要的是用一些 LIKE 运算符搜索我的数据,所以

where contact->'emails' <SOME_JSON_LIKE_OPERATOR> "smith"';

我找不到 psql 是否有类似的东西,也许没有。所以,也许我可以将 contact->'emails' 字段转换为 Text ('["smith@test.com", "agent@matrix.net"]') 然后使用简单的 LIKE.. 你会如何解决这个问题?

最佳答案

您可以将 json 数组扩展为文本记录集,并以您喜欢的任何方式进行搜索:

where exists (
select 1 from json_array_elements_text(contact->'emails')
where
value like "%smith%"
)

关于json - PostgreSQL json 搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37655827/

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