我有一个jsondocs
包含以下列的表:
id SERIAL
json TEXT
我想检查列是否json
包含一些值但不完全匹配。
例如我可以做类似的事情:
select * from jsondocs where json like '%id:123%'
但是对于包含 100 个值的数组。我的意思是(伪代码):
select * from jsondocs where json like in ('%id:123%','%id:123234324423243%',...)
我想根据数组中提供的值进行“喜欢”搜索。
您的问题有两种方法:
方法一
搜索结合 like 和 any 的文本:
方法二
如果您知道 json 将具有特定键并且值属于 json 字段中的特定键,则使用此方法:
假设 json 列包含以下内容:
通常,如果您想从数组中的值中执行类似操作,请使用: