gpt4 book ai didi

postgresql - postgres jsonb 列中的模糊字符串匹配

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

我在名为 topics 的 postgres 表中有一个 jsonb 列,它是一个字符串文字数组。一个示例记录可能有一个 topics 值:

['healthcare', 'fitness', 'gains', 'doyouevenliftbro']

我需要在许多匹配 %lift%

的记录中找到这条记录

我在 stackoverflow 和 pg 文档上找到的所有其他查询都可以作为完整字符串与 doyouevenliftbro 匹配,或者如果这是从 json_to_recordset() 转换而来的,则可以进行正则表达式匹配 或其他任何内容,但随后他们继续引用 JSON 中的属性,而 this 没有。希望它只是逃避我的简单语法。谢谢!

最佳答案

您可以使用 json_array_elementsjson 数组取消嵌套到一个集合中。一旦它是一个集合,您就可以应用 like 运算符并将其放入子查询中。

select *
from your_table
where exists (
select *
from json_array_elements(your_table.topics::json)
where value::text like '%lift%'
);

编辑:更直接地说,如果您将整个 topics 数组转换为文本并与之匹配会怎么样?

select *
from your_table
where topics::text like '%lift%';

关于postgresql - postgres jsonb 列中的模糊字符串匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46008755/

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