2014-04-29 5 views

Antwort

11

Sie können insbesondere die Funktionen utl_i18n und unescape_reference() verwenden. Hier ein Beispiel:

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; 

Ergebnis:

RES 
------- 
I'm 
+0

Vielen Dank, es perfekt fine..AWESOME funktioniert !!! –

+1

Dieser hat eine Beschränkung auf 4000 Zeichen – Skoffer

+2

@Skoffer Ja hat es. Um diese Einschränkung zu umgehen, kann das Paket 'dbms_xmlgen' und speziell die Funktion' convert() '[verwendet werden] (http://stackoverflow.com/questions/23683423/is-oracles-extract-function-breaking-the-noentityescaping-in -the-xmlelement/23684068 # 23684068) –

2
SELECT dbms_xmlgen.convert(xmlagg(XMLELEMENT(E,'I''m' 
    ||':')).extract('//text()').getclobval() ,1) 
FROM dual; 

Ich bin:

+0

Vielen Dank! es ist auch ein netter, aber es bekommt die Ausgabe in HUGECLOB –

Verwandte Themen