Re: cvs text to quoted cvs text
От | Igor Neyman |
---|---|
Тема | Re: cvs text to quoted cvs text |
Дата | |
Msg-id | MWHPR07MB287790BD15741D4336AD1A65DACD0@MWHPR07MB2877.namprd07.prod.outlook.com обсуждение исходный текст |
Ответ на | cvs text to quoted cvs text (Michael Moore <michaeljmoore@gmail.com>) |
Список | 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 по дате отправления: