From: pgsql-sql-owner@postgresql.org [mailto:pgsql-sql-owner@postgresql.org] On Behalf Of Michael Moore Sent: Monday, September 26, 2016 3:23 PM To: postgres list <pgsql-sql@postgresql.org> Subject: [SQL] cvs text to quoted cvs text
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?