Обсуждение: Passing a String with special character as an input
Hi -
This is related to my earlier post. For the function I am passing a string. But the string some time has a single quote inside the string like "IT's a String Test" , How can I handle that, can you please help?
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;
Hello
2010/11/23 akp geek <akpgeek@gmail.com>:
> Hi -
> This is related to my earlier post. For the function I am passing
> a string. But the string some time has a single quote inside the string like
> "IT's a String Test" , How can I handle that, can you please help?
on stored procedure level you can do nothing
in SQL level, you have to duble quotes
like INSERT INTO data VALUES('Peter''s book');
regards
Pavel Stehule
>
>
> 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 11/23/10 12:34 PM, akp geek wrote:
> Hi -
>
> This is related to my earlier post. For the function I am
> passing a string. But the string some time has a single quote inside
> the string like "IT's a String Test" , How can I handle that, can you
> please help?
>
at the SQL level, pass it as a parameter.
like, in perl...
my $sth = $dbh->prepare('select test_repl(?);');
$sth->execute("It's a String Test");
(or my $sth->execute('It\'s a String Test'); ...)