Re: cvs text to quoted cvs text - Mailing list pgsql-sql

From Igor Neyman
Subject Re: cvs text to quoted cvs text
Date
Msg-id MWHPR07MB287790BD15741D4336AD1A65DACD0@MWHPR07MB2877.namprd07.prod.outlook.com
Whole thread Raw
In response to cvs text to quoted cvs text  (Michael Moore <michaeljmoore@gmail.com>)
List pgsql-sql

 

 

 

Regards,

Igor

 

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?

thanks,

Mike

 

 

Take a look at quote_literal(…) function.

 

Regards,

Igor Neyman

pgsql-sql by date:

Previous
From: Michael Moore
Date:
Subject: cvs text to quoted cvs text
Next
From: Pavel Stehule
Date:
Subject: Re: cvs text to quoted cvs text