首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有多个值的postgres中的json查询

具有多个值的postgres中的json查询
EN

Stack Overflow用户
提问于 2018-07-17 08:40:20
回答 1查看 1.4K关注 0票数 1

json存储了[1,2,4,5],.I有类似于[1,23,4]的数组。我想检查json字段中存在的s数组的任何一个值。我可能需要像['1','2','4','5']这样存储数组的其他选项,这样我就可以使用?|运算符,或者它们的选项还有什么我可以做的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-17 09:25:35

没有现成的函数或操作符来完成这一任务。您可以使用以下函数:

代码语言:javascript
复制
create or replace function jsonb_int_array(jsonb)
returns integer[] language sql immutable as $function$
    select array(select jsonb_array_elements_text($1)::int)
$function$;

在查询中使用重叠算子

代码语言:javascript
复制
with my_table(data) as (
values ('[1,2,4,5]'::jsonb)
)

select *
from my_table
where jsonb_int_array(data) && array[1,23,4]

     data     
--------------
 [1, 2, 4, 5]
(1 row) 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51376811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档