如何为 sql 中保留的 xml 个字符创建函数

How to create function for reserved xml characters in sql

请任何人帮助我为 SQL 中的保留 XML 字符创建函数。 下面我已经尝试了下面的功能,但它对我不起作用。

function escape_char(p_text varchar2) return varchar2 is
begin
     return (replace(p_text, '<','&lt;'));
     return (replace(p_text, '>','&gt;'));
     return (replace(p_text, '&','&amp;'));
     return (replace(p_text, '''','&apos;'));
     return (replace(p_text, '"','&quot;'));
end;

当你在函数中使用RETURN时,函数会return一些值并结束;这样,在你的函数中,只有第一个 replace 会是 运行,下面的代码永远不会被执行。

这是一种简单的编辑方法:

create or replace function escape_char(p_text varchar2) return varchar2 is
    vRetVal     varchar2(100);
begin
     vRetVal := replace(p_text, '&','&amp;');
     vRetVal := replace(vRetVal, '<','&lt;'); 
     vRetVal := replace(vRetVal, '>','&gt;');
     vRetVal := replace(vRetVal, '''','&apos;');
     vRetVal := replace(vRetVal, '"','&quot;');
     --
     return vRetVal;
end;