如何为jsonb密钥执行LIKE查询?

时间:2015-05-14 03:58:28

标签: json postgresql jsonb

我有以下jsonb结构:

{'this': '1', 'this_that': '0', 'this_and_that': '5'}

如何选择包含LIKE运算符的行?

SELECT * FROM myjson WHERE j ? 'this_%'

返回0行...希望它匹配'this_that'和'this_and_that'。 (注意:'_'后面的字符可能会有很大差异,因此我无法完全匹配。)

1 个答案:

答案 0 :(得分:14)

您的示例不应该有效,因为[GPPNativeShareBuilderImpl open] User must be signed in to use the native share box. jsonb类型之间没有隐式转换。您可以强制执行转换:

text

这不是干净的解决方案。更好的方法是解压缩json,并使用横向连接过滤解压缩的数据

SELECT '{"this": 1, "this_that": 0, "this_and_that": 5}'::jsonb::text 
            like '%"this%';