Re: Array Contained By Array Question
От | Merlin Moncure |
---|---|
Тема | Re: Array Contained By Array Question |
Дата | |
Msg-id | BANLkTim=R64m-hjhG_1iHmNsQ30zc+iN9Q@mail.gmail.com обсуждение исходный текст |
Ответ на | Array Contained By Array Question ("Arthur M. Kang" <arthurmkang@gmail.com>) |
Ответы |
Re: Array Contained By Array Question
|
Список | pgsql-novice |
On Fri, Jun 10, 2011 at 11:00 AM, Arthur M. Kang <arthurmkang@gmail.com> wrote: > How can I search a multidimensional array for an EXACT "subarray" match? > > The following produces true when I want it to produce false. Obviously, I > would only want it to produce true for ARRAY[1,2], ARRAY[3,4], or > ARRAY[5,6]. > > SELECT ARRAY[ARRAY[1,2], ARRAY[3,4], ARRAY[5,6]] @> ARRAY[ARRAY[1,6]]; > > Any help is greatly appreciated. create or replace function slice_in_array(needle anyarray, haystack anyarray) returns bool as $$ select $1 in (select $2[v:v] from generate_series(1, array_upper($2, 1)) v); $$ language sql immutable; select slice_in_array(array[array[1,2]], ARRAY[ARRAY[1,2], ARRAY[3,4], ARRAY[5,6]]); -- or -- create or replace function slice_in_array(needle anyarray, haystack anyarray) returns bool as $$ select array[$1] in (select $2[v:v] from generate_series(1, array_upper($2, 1)) v); $$ language sql immutable; select slice_in_array(ARRAY[1,2], ARRAY[ARRAY[1,2], ARRAY[3,4], ARRAY[5,6]]); (not really sure what the deal is with the operator) merlin
В списке pgsql-novice по дате отправления: