Re: Array intersection
От
Josh Trutwin
Тема
Re: Array intersection
Дата
Msg-id
20071017130048.0ddde862@sinkhole.intrcomm.net
Ответ на
Re: Array intersection (Sam Mason)
Список
Дерево обсуждения
Array intersection Josh Trutwin <josh@trutwins.homeip.net>
Re: Array intersection Josh Trutwin <josh@trutwins.homeip.net>
Re: Array intersection Sam Mason <sam@samason.me.uk>
Re: Array intersection Josh Trutwin <josh@trutwins.homeip.net>
Re: Array intersection Sam Mason <sam@samason.me.uk>
Re: Array intersection Josh Trutwin <josh@trutwins.homeip.net>
Re: Array intersection Sam Mason <sam@samason.me.uk>
Re: Array intersection Josh Trutwin <josh@trutwins.homeip.net>
Re: Array intersection Sam Mason <sam@samason.me.uk>
Re: Array intersection Josh Trutwin <josh@trutwins.homeip.net>
Re: Array intersection "Rodrigo De León" <rdeleonp@gmail.com>
Re: Array intersection Josh Trutwin <josh@trutwins.homeip.net>
Re: Array intersection "Merlin Moncure" <mmoncure@gmail.com>
Re: Array intersection Josh Trutwin <josh@trutwins.homeip.net>
Re: Array intersection David Fetter <david@fetter.org>
Re: Array intersection Josh Trutwin <josh@trutwins.homeip.net>
Re: Array intersection David Fetter <david@fetter.org>
Re: Array intersection "Pavel Stehule" <pavel.stehule@gmail.com>
Re: Array intersection Josh Trutwin <josh@trutwins.homeip.net>
On Wed, 17 Oct 2007 17:42:21 +0100
Sam Mason wrote:
> CREATE OR REPLACE FUNCTION array_intersect (array1
> INTEGER[],array2 INTEGER[]) RETURNS INTEGER[] AS $$
> DECLARE
> out INTEGER[];
> BEGIN
> out := '{}'::INTEGER[];
> IF array1 IS NULL OR array2 IS NULL THEN
> RETURN NULL;
> END IF;
> FOR i IN array_lower(array1,1) .. array_upper(array1,1) LOOP
> IF (array1[i] = ANY (array2)) AND NOT array1[i] = ANY
> (out) THEN out := array_append(out,array1[i]);
> END IF;
> END LOOP;
> RETURN out;
> END;
> $$ LANGUAGE PLPGSQL;
Works like a champ on 8.1.
Thanks!
Did you see David Fetter's reply to the original post? He has
an interesting alternative.
Josh
В списке pgsql-general по дате отправления