From: | "Francisco Figueiredo Jr(dot)" <francisco(at)npgsql(dot)org> |
---|---|
To: | Richard Huxton <dev(at)archonet(dot)com> |
Cc: | PgSql General <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Difference between "in (...)" and "= any(...)" queries when using arrays |
Date: | 2009-05-12 15:27:15 |
Message-ID: | 438d02260905120827u62f9805cm63c634712dd50eef@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Tue, May 12, 2009 at 05:02, Richard Huxton <dev(at)archonet(dot)com> wrote:
> Francisco Figueiredo Jr. wrote:
>>
>> Hi all!
>>
>> I was playing with "in (...)" and "= any (...)" queries and found a
>> difference between them and I wonder:
>>
>> why this works:
>>
>> select * from table_of_integers where integer_column = any (array[5,6]);
>
> This checks if integer_column matches any value in the specified array.
>
>> select * from table_of_integers where integer_column in (array[5,6]);
>
> This checks if integer_column IS an array[5,6] (which it isn't).
>
> You probably want ... IN (5,6)
>
>> SOME is a synonym for ANY. IN is equivalent to = ANY.
>
> I think this is probably talking with respect to sub-queries.
>
Ahhhh, thank you very much for your feedback and for explaining it, Richard.
Now I understand it better.
--
Regards,
Francisco Figueiredo Jr.
Npgsql Lead Developer
http://www.npgsql.org
http://fxjr.blogspot.com
http://twitter.com/franciscojunior
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2009-05-12 18:51:44 | Re: Could not open file "pg_clog/...." |
Previous Message | Adrian Klaver | 2009-05-12 13:59:16 | Re: Unable to access table named "user" |