我有以下jsonb结构:
{'this': '1', 'this_that': '0', 'this_and_that': '5'}
如何选择包含LIKE运算符的行?
SELECT * FROM myjson WHERE j ? 'this_%'
返回0行...希望它匹配'this_that'和'this_and_that'。 (注意:'_'后面的字符可能会有很大差异,因此我无法完全匹配。)
答案 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%';