我需要创建一个查询来搜索JSON的所有属性值。
表格示例:
mysqldump --user="$user" --password="$password" --host="$host" $db $tabl > "./backups/$db/$db-$tabl-$time"
这些JSON格式中的每一种都在同一个表中。
例如在我的应用中,如果我写" 27"在我的搜索文本框中,查询将搜索术语" 27"的所有JSON值(而不是属性)。
如果我写" contact_name"在搜索文本框中,我没有结果。
我设法在SQLSERVER 2016中创建了这个查询
以下是查询:
ID --- ObjectType --- JSON
1 Client {"name":"John","age":27}
2 Contact {"contact_name":"Henry","contact_city":"New York"}
我需要在POSTGRESQL
中执行相同或其他方式答案 0 :(得分:0)
一种方法是使用json_each_text
函数
select ObjectTeepee.* from ObjectTeepee
join lateral json_each_text(JSON) j
on true
where
j.value = '27'
答案 1 :(得分:0)
你可以这样做:
SELECT *
FROM ObjectTeepee
WHERE EXISTS (
SELECT * FROM jsonb_each(previewContent) WHERE value='27'
)