我有以下查询。如何保持撇号('
)完好无损并且不被&apos
取代
我还想处理其他字符,如&
SELECT RTRIM(xmlagg(XMLELEMENT(E,'I''m'||':')).extract('//text()'),':')
FROM dual;
输出:
I'm
感谢。
答案 0 :(得分:12)
您可以特别使用utl_i18n包和unescape_reference()功能。这是一个例子:
clear screen;
column res format a7;
select utl_i18n.unescape_reference(
rtrim(
xmlagg( -- use of xmlagg() function in
-- this situation seems to be unnecessary
XMLELEMENT(E,'I''m'||':')
).extract('//text()'),':'
)
) as res
from dual;
结果:
RES
-------
I'm
答案 1 :(得分:3)
SELECT dbms_xmlgen.convert( xmlagg(XMLELEMENT(E,'I''m'
||':')).extract('//text()').getclobval() ,1)
FROM dual;
I' M: