前言
在PostgreSQL中,jsonb有额外的操作符,如 @>、<@、?、?|、?& 可以用来查询是否包含路径/值,以及顶层键值是否存在。
详细文章:PostgreSQL 操作json/jsonb
那么,如果我们不知道路径,只想要查询json/jsonb是否存在某个片段,那就跟我一起来学习吧!
实现
实现思路
思路:使用 ::text
将json/jsonb转换成为文本,再通过 like
关键字进行模糊查询。
示例:
select '{"a": {"b":{"c":"foo"}}}'::json::text like '%"c":"foo"%';