在Postgres中以多个值在JSON中查询

时间:2018-07-17 08:40:21

标签: json postgresql

我存储了[1,2,4,5]的json。我有[1,23,4]这样的数组。我想检查json字段中是否存在s数组的值。我可能需要存储['1','2','4','5']之类的其他选项,以便我可以使用?|运算符,否则它们还有其他功能吗?

1 个答案:

答案 0 :(得分:1)

没有现成的功能或操作员可以完成此操作。您可以使用以下功能:

1-to-many

在查询中使用overlap operator

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$;