Re: Difference between "in (...)" and "= any(...)" queries when using arrays

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

In response to

Browse pgsql-general by date

  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"