以下のクエリがあります。アポストロフィ(')をそのままにして、それを置き換えない方法&apos
他の文字もあります&
SELECT RTRIM(XMLAGG(XMLELEMENT(E,'I''m'||':')).EXTRACT('//text()'),':')
  FROM dual;
出力:
I'm
ありがとう。
以下のクエリがあります。アポストロフィ(')をそのままにして、それを置き換えない方法&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