gpt4 book ai didi

sql - 使用 PostgreSQL 在所有 JSON 字段中搜索

转载 作者:行者123 更新时间:2023-11-29 14:09:41 25 4
gpt4 key购买 nike

如何查询 JSON 字段以搜索 JSON 的所有字段?

表格

id | JSON
--------------------------
1 | {"name":"toto","age":25,"surname":"toto2"}

我想查询 JSON 的每个字段,因为我正在编写一个全局搜索函数,例如我需要返回其 JSON 中包含“toto”的每一行。

我设法在 SqlServer 2016 中使用 OPEN_JSON 函数做到了这一点。

这是我的代码

SELECT DISTINCT *
FROM ObjectsTable
CROSS APPLY OPENJSON([JSON]) as tbValues
WHERE tbValues.value like '%toto%'

我需要在 Postgres 中做同样的事情。

最佳答案

在 Postgres 中基本相同,但是 cross apply 在 SQL 标准和 Postgres 中是 cross join lateral

select o.id, t.*
from objectstable o
cross join lateral json_each_text(o.json) as t(k,val)
where t.val like '%toto%'

关于sql - 使用 PostgreSQL 在所有 JSON 字段中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44462183/

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