cvs text to quoted cvs text

From: Michael Moore <michaeljmoore(at)gmail(dot)com>
To: postgres list <pgsql-sql(at)postgresql(dot)org>
Subject: cvs text to quoted cvs text
Date: 2016-09-26 19:23:25
Message-ID: CACpWLjNzDmgZojHAFzN0b7V5grRSuUq9ehSMgPCFRM1zQEHhFQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

I have some input parameters on a function that will by use in dynamic sql
as part of an IN list. For example:
'select val from mytab where zzz in ('||csv_input_parm::text||')';
The problem is that csv_input_parm is formatted like:
[THIS,THAT,THE OTHER] while the IN list would need
['THIS','THAT','THE OTHER'] brackets not included.
I came up with this approach to do the conversion:
select ''''||array_to_string(string_to_array('THIS,THAT,THE
OTHER',','),''',''')||'''' rslt
It gets the job done, but it's ugly. Is there a way that is not ugly?
thanks,
Mike

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Igor Neyman 2016-09-26 19:28:09 Re: cvs text to quoted cvs text
Previous Message Michael Moore 2016-09-22 22:38:09 Re: insert values from a ROW object