Re: Array Comparison - Mailing list pgsql-general

From Ian Harding
Subject Re: Array Comparison
Date
Msg-id CAMR4UwELU7RnodsmWbTzdG2NMvpKkW3rLns-M6H3fwCMTL0Cag@mail.gmail.com
Whole thread Raw
In response to Array Comparison  (Ian Harding <harding.ian@gmail.com>)
Responses Re: Array Comparison
List pgsql-general

On Fri, Dec 5, 2014 at 4:55 PM, Ian Harding <harding.ian@gmail.com> wrote:
I have a function that returns bigint[] and would like to be able to compare a bigint to the result.
 
freeload=> select fn_descendents('trip'::varchar,61::bigint);
          fn_descendents
-----------------------------------
 {935,815,689,569,446,325,205,191}
(1 row)
freeload=> select 935::bigint in (select fn_descendents('trip'::varchar,61::bigint));
ERROR:  operator does not exist: bigint = bigint[]
LINE 1: select 935::bigint in (select fn_descendents('trip'::varchar...
                           ^
HINT:  No operator matches the given name and argument type(s). You might need to add explicit type casts.
This is probably super obvious but I'm not getting it right now.
 
Hmmm.. This works...
select array[935::bigint] <@ (select fn_descendents('trip'::varchar,61::bigint));
 
Still, why? 

pgsql-general by date:

Previous
From: Ian Harding
Date:
Subject: Array Comparison
Next
From: David G Johnston
Date:
Subject: Re: Array Comparison