On Tue, Nov 24, 2020 at 12:14 PM Dave Greeko <davegre...@yahoo.com> wrote:

> Dear All,
> I am having a hard time figuring out how prepare and execute a Prepared
> Statement with an "IN" operator in the WHERE clause using libpq. The total
> elements that will be passed to IN operator is dynamic and varied at
> runtime.
> here is an example query:
>
> select payload_id,ptime,frequency from codecs where tag IN (‘G729’,’GSM’);
>
> The number of elements to filter for with this particular example is 2 but
> this varies at runtime (between 1 to 127 elements).
> I would like to know what’s the proper syntax of the (char *query)
> parameter when calling the PQprepare() function.
> I tried “select payload_id,ptime,frequency from codecs where tag=ANY(?)”
> but failed
>
>
ANY wants an array - you can either pass an array input literal and do
"?::text[]" or you can pass a probably easier to write "csv" value and
write "ANY(string_to_array(?, ','))".

David J.

Reply via email to