Re: Problem with replace function in postgres

From: akp geek <akpgeek(at)gmail(dot)com>
To: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
Cc: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Problem with replace function in postgres
Date: 2010-11-23 20:20:34
Message-ID: AANLkTi=vuY57MiLN-rudrWhZxOht0F-WuoCqviDuwQ39@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

CREATE OR REPLACE FUNCTION test_repl(x character varying)
RETURNS character varying AS
$BODY$
DECLARE
ret_var varchar(4000);
a record;
begin
ret_var := x;

for a in select * from lookup
loop
ret_var := replace(ret_var,a.code,a.codeword);
end loop;
return ret_var;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
ALTER FUNCTION test_repl(character varying) OWNER TO postgres;

On Tue, Nov 23, 2010 at 3:07 PM, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>wrote:

> Hello
>
> please, can you send a source code of your function?
>
> Regards
>
> Pavel Stehule
>
> 2010/11/23 akp geek <akpgeek(at)gmail(dot)com>:
> > Dear all -
> > I am having trouble with replace function inside a
> function.
> > If I do the same replace function outside it works fine, Following
> example
> > clearly explains my problem. Can you please help?
> >
> > create table str_table
> > ( mystr varchar(1000));
> > insert into str_table values ( 'This road is INDEFLY CLSD');
> > insert into str_table values('That is INDEFLY open');
> > insert into str_table values('That is a CLSD road');
> >
> > select * from str_table;
> > create table lookup
> > ( code varchar(100),
> > codeword varchar(100));
> >
> > insert into lookup values( 'INDEFLY','indefinitely');
> > insert into lookup values( 'CLSD','closed');
> > select 'This road is INDEFLY CLSD', test_repl('This road is INDEFLY CLSD
> > INDEFLY') replaced_str
> > from str_table;
> > RESULT SET " This road is INDEFLY CLSD;This road is indefinitely closed
> > INDEFLY "
> > Regards
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Dmitriy Igrishin 2010-11-23 20:21:20 Re: Escaping string for LIKE
Previous Message Pavel Stehule 2010-11-23 20:07:50 Re: Problem with replace function in postgres