On Wed, 2007-10-10 at 09:11 +0200, Albe Laurenz wrote: > 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. The input is for an SRF which accepts an array.. eg: select * from foo(date1,date2,'{aaa,bbb,ccc}') where the function goes.. create function foo(timestamp, timestamp, foo_list text[]) returns setof results as ... where foo_list = any (foo_list) .. ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings