动态JSONB密钥查询

时间:2019-03-11 20:45:50

标签: postgresql jsonb

我有一个包含此数据的jsonb字段:

{"en":"english text", "es":"spanish text", "fr":"french text"}

我必须进行查询以查找与用户指定的语言部分匹配的文本。我的文字值没有问题,但键抛出错误。此查询有效:

select *
from table
where (language ->> 'en') ilike '%' || 'text_to_search' || '%'

我可以轻松地使用用户文本对'text_to_search'进行参数化设置,但是我无法使用jsonb键进行同样的设置。我想做这样的事情,但显然行不通:

select *
from table
where (language ->> || 'en' ||) ilike '%' || 'text_to_search' || '%'

我也尝试过:

select *
from table
where language #>> '{' || 'en' || '}' ilike '%' || 'text_to_search' || '%'

有什么办法吗?

0 个答案:

没有答案