Обсуждение: JSONB arrays

Поиск
Список
Период
Сортировка

JSONB arrays

От
Victor Noagbodji
Дата:
Hey people,

I ended up with the following to check (or similar to return) the intersection of two list of values on a JSONB object:

array_length(
array(
select jsonb_array_elements_text(col1)
intersect
select jsonb_array_elements_text(col2)
), 1) > 0

Is there a better way?

Thanks

RE: JSONB arrays

От
Steven Winfield
Дата:
From: Victor Noagbodji [mailto:vnoagbodji@amplify-nation.com]
Sent: 28 June 2018 11:28
To: pgsql-general
Subject: JSONB arrays
 
Hey people,
 
I ended up with the following to check (or similar to return) the intersection of two list of values on a JSONB object:
 
array_length(
array(
select jsonb_array_elements_text(col1)
intersect
select jsonb_array_elements_text(col2)
), 1) > 0
 
Is there a better way?
 
Thanks
 
 
Try the @> operator:
 
select '[1, 2, 3, 4]'::jsonb @> '[4, 2]'::jsonb
 
 
Steve.