Обсуждение: Arrya variable as argument to IN expression
Hello I am trying the following:
a INTEGER[] := ''{10,15,20}'';
b INTEGER := 15;
flag BOOLEAN := FALSE;
SELECT b IN (a) INTO flag; !!! does not work
Is it legal to expect the array to be interpret as
list of integers which IN expression takes ?
Best Regards
Emil kafegiiski
__________________________________
Yahoo! FareChase: Search multiple travel sites in one click.
http://farechase.yahoo.com
O Emil Kaffeshop έγραψε στις Nov 17, 2005 :
> Hello I am trying the following:
> a INTEGER[] := ''{10,15,20}'';
> b INTEGER := 15;
> flag BOOLEAN := FALSE;
>
> SELECT b IN (a) INTO flag; !!! does not work
contrib/intarray and
SELECT intset(b) ~ a::int[] INTO flag;
are your friends.
>
> Is it legal to expect the array to be interpret as
> list of integers which IN expression takes ?
>
> Best Regards
> Emil kafegiiski
>
>
>
>
> __________________________________
> Yahoo! FareChase: Search multiple travel sites in one click.
> http://farechase.yahoo.com
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: explain analyze is your friend
>
--
-Achilleus
am 17.11.2005, um 0:28:51 -0800 mailte Emil Kaffeshop folgendes:
> Hello I am trying the following:
> a INTEGER[] := ''{10,15,20}'';
> b INTEGER := 15;
> flag BOOLEAN := FALSE;
>
> SELECT b IN (a) INTO flag; !!! does not work
Sorry, i can't understand your query.
Perhaps you are searchfing for something like:
test=# select * from foo; a | b | flag
---------+---+------{1,2,3} | 1 | t{5,6,7} | 1 | t
(2 rows)
test=# select * from foo where b = any(a); a | b | flag
---------+---+------{1,2,3} | 1 | t
(1 row)
>
> Is it legal to expect the array to be interpret as
> list of integers which IN expression takes ?
Please read http://www.postgresql.org/docs/8.1/interactive/arrays.html
to learn more about arrays.
HTH, Andreas
--
Andreas Kretschmer (Kontakt: siehe Header)
Heynitz: 035242/47212, D1: 0160/7141639
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net=== Schollglas Unternehmensgruppe ===
Emil Kaffeshop <emildg@yahoo.com> writes:
> SELECT b IN (a) INTO flag; !!! does not work
> Is it legal to expect the array to be interpret as
> list of integers which IN expression takes ?
No. But try "b = any (a)".
regards, tom lane