On Fri, 6 Mar 2009 09:50:27 +0100 Oluwatope Akinniyi <topeakinniyi@xxxxxxxxxxx> wrote: > > This > SELECT 1 WHERE '95b5a221aeba15c' IN (E'\'' || > replace('95b5a221aeba15c+fb4e7219ab898ce+b08586cb81059f9','+',''',''') > || E'\'') returns no row while > > SELECT 1 WHERE '95b5a221aeba15c' IN > ('95b5a221aeba15c','fb4e7219ab898ce','b08586cb81059f9') returns a > row. > > What is the difference between E'\'' || > replace('95b5a221aeba15c+fb4e7219ab898ce+b08586cb81059f9','+',''',''') > || E'\'' and '95b5a221aeba15c','fb4e7219ab898ce','b08586cb81059f9'? You assume that the statement is interpreted twice. The first is comparing your needle with an array/recordset of just one element "'95b5a221aeba15c','fb4e7219ab898ce','b08586cb81059f9'" -- Ivan Sergio Borgonovo http://www.webthatworks.it -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general