Hello

this is not error, you cannot use predicate IN in this context

use =ANY instead

postgres=> select 10 = ANY(ARRAY[1,2,3]);
 ?column?
----------
 f
(1 row)

postgres=> select 10 = ANY(ARRAY[1,2,3,10]);
 ?column?
----------
 t
(1 row)

Regards

Pavel Stehule


2012/4/11 cesar_cast <cesar.cast.m...@gmail.com>:
> I have the following
>
> select *
> from   employee AS e
> where  (e.id) IN  (ARRAY[3,1]);
>
> I have the following mistake
> ERROR:  operator does not exist: integer = integer[]
> LINE 3: where  (e.id) IN  (ARRAY[3,1]);
>                      ^
> HINT:  No operator matches the given name and argument type(s). You might
> need to add explicit type casts.
>
> ********** Error **********
>
> ERROR: operator does not exist: integer = integer[]
> SQL state: 42883
> Hint: No operator matches the given name and argument type(s). You might
> need to add explicit type casts.
> Character: 45
>
>
> Can anybody explain me?
>
>
> --
> View this message in context: 
> http://postgresql.1045698.n5.nabble.com/ERROR-operator-does-not-exist-integer-integer-tp5634039p5634039.html
> Sent from the PostgreSQL - sql mailing list archive at Nabble.com.
>
> --
> Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-sql

-- 
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql

Reply via email to