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  ("Arthur M. Kang" <arthurmkang@gmail.com>)
Список 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 по дате отправления:

Предыдущее
От: "Arthur M. Kang"
Дата:
Сообщение: Array Contained By Array Question
Следующее
От: "Arthur M. Kang"
Дата:
Сообщение: Re: Array Contained By Array Question