Re: replacing single quotes

From: "Albe Laurenz" <laurenz(dot)albe(at)wien(dot)gv(dot)at>
To: "Ow Mun Heng *EXTERN*" <Ow(dot)Mun(dot)Heng(at)wdc(dot)com>, <pgsql-general(at)postgresql(dot)org>
Subject: Re: replacing single quotes
Date: 2007-10-10 07:11:14
Message-ID: D960CB61B694CF459DCFB4B0128514C25684F7@exadv11.host.magwien.gv.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Ow Mun Heng wrote:
> Input is of form
>
> 'ppp','aaa','bbb'
>
> I want it to be stripped of quotes to become
>
> ppp,aaa,bbb
>
> escaping the quote would work but it means I will have
> to do some magic on the input as well to escape it prior
> to replacing it.
>
> select replace('AB\'A','\'','C') this works
>
> Can I buy a clue here?

Sorry, all the advisives are free here.

I'm a little confused that you think that you will have to
escape single quotes in the input.
What is your use case? Normally the input is in some variable
in some programming language.
Escaping single quotes is only for string literals.

Like this:

CREATE FUNCTION rep(v text) RETURNS text
LANGUAGE sql IMMUTABLE STRICT AS
$$SELECT replace($1, '''', '')$$;

BTW, I would use '' instead of \' to escape single quotes.
It is safer and standard compliant.

Yours,
Laurenz Albe

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Ow Mun Heng 2007-10-10 07:31:53 Re: replacing single quotes
Previous Message Greg Wickham 2007-10-10 06:22:13 PLPGSQL 'SET SESSION ROLE' problems ..