gpt4 book ai didi

java - 在表中查找 JSON/部分 JSON

转载 作者:行者123 更新时间:2023-12-02 10:13:03 24 4
gpt4 key购买 nike

引用:https://www.postgresql.org/docs/current/functions-json.html

我正在浏览这个,但没有看到我在寻找什么,但我想做的是这个。我有一个生成对象的 Java 应用程序:

{"first":"Joe","last":"Doe"}

我想查询数据库以查找具有这些字段的 json 对象。这些字段不是静态的(我可以有 n 个字段,并且它们都可以不同)。

select op.*
from bw.people p
where p.object_as_json = '{"first":"Joe","last":"Doe"}' -- this clearly doesn't work

更新

object_as_json 现在是 jsonb 数据类型

人员表中的一个条目,有

object_as_json ='{"first":"Joe","last":"Doe","middle":"S","DOB":"1940-01-01"}'

我的查询是(这些都没有返回任何内容):

select *
from bw.people
where object_in_json = '{"last":"Doe","first":"Joe"}'

select *
from bw.people
where object_in_json = '{"first":"Joe","last":"Doe","middle":"S","DOB":"1940-01-01"}'

最佳答案

如果你使用jsonb,你可以写

WHERE object_in_json @> '{"last":"Doe","first":"Joe"}`

使用 json 你必须编写

WHERE object_in_json ->> 'last' = 'Doe'
AND object_in_json ->> 'first' = 'John'

关于java - 在表中查找 JSON/部分 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54856769/

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