【发布时间】:2025-12-17 00:55:02
【问题描述】:
我有以下查询。如何保持撇号 (') 完整且不被 &apos 替换
我还想处理其他字符,例如&
SELECT RTRIM(XMLAGG(XMLELEMENT(E,'I''m'||':')).EXTRACT('//text()'),':')
FROM dual;
输出:
I'm
谢谢。
【问题讨论】:
标签: sql xml oracle replace xmlelement
我有以下查询。如何保持撇号 (') 完整且不被 &apos 替换
我还想处理其他字符,例如&
SELECT RTRIM(XMLAGG(XMLELEMENT(E,'I''m'||':')).EXTRACT('//text()'),':')
FROM dual;
输出:
I'm
谢谢。
【问题讨论】:
标签: sql xml oracle replace xmlelement
您可以特别使用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
【讨论】:
dbms_xmlgen 包,特别是convert() 函数can be used
SELECT dbms_xmlgen.convert( xmlagg(XMLELEMENT(E,'I''m'
||':')).extract('//text()').getclobval() ,1)
FROM dual;
我是:
【讨论】: