12

以下のクエリがあります。アポストロフィ(')をそのままにして、それを置き換えない方法&apos 他の文字もあります&

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

出力:

I'm

ありがとう。

4

2 に答える 2

19

特に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  
于 2014-04-29T16:32:02.413 に答える