sql - 使用 XMLELEMENT Oracle 时如何替换 ' 或任何特殊字符

标签 sql xml oracle replace xmlelement

我有以下查询。如何保持撇号 (') 完整且不被 &apos 替换 我还想处理其他字符,例如 &

SELECT RTRIM(XMLAGG(XMLELEMENT(E,'I''m'||':')).EXTRACT('//text()'),':')
  FROM dual;

输出:

I'm

谢谢。

最佳答案

您可以使用 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  

关于sql - 使用 XMLELEMENT Oracle 时如何替换 ' 或任何特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23369574/

相关文章:

sql - MS Access 更新区号

mysql - 加入具有相同 ID PDO 的 2 个表

android - 为布局设置动画旋转重复返回

java - jsp下oracle数据库查询没有结果

javascript - 从 oracle sql 返回值为 -0

sql - Oracle中的 "NUMBER"和 "NUMBER(*,0)"是否相同?

sql - 使用 '=' 或 LIKE 比较 SQL 中的字符串?

MySQL 从 n 中随机选择 m

xml - 为什么命名空间参数?

xml - 加载 XML 文件时从文本节点的内容中去除前导和尾随空格