2016-08-04 13 views
0

Ich möchte in XMLDATA Spalte meine Tabelle FINAL_XML folgenden Spalten hatAuswahlabfrage für CLOB xml

IDENTIFIERTYPE | IDENTIFIER | DATE  | XMLDATA 
-------------- | ---------- | --------- | ------- 
CONTACT  | 1   |0216-08-04 | CLOB, 4500 Bytes 
gespeicherten XML-Daten extrahieren

Gibt es eine Möglichkeit, eine select-Anweisung zu schreiben, die tatsächlichen XML-Struktur zurückkehren würde?

dank

+0

Was meinen Sie mit "Aktueller XML-Baum"? Benötigen Sie ein XMLTYPE-Ergebnis? – Aleksej

+0

ja. Wenn ich XMLDATA aus FINAL_XML wähle, gibt es CLOB, 4500 Bytes zurück und ich würde gerne sehen, was drin ist – ivanz

+1

Vielleicht brauchen Sie einfach 'xmltype (XMLDATA) aus FINAL_XML' auszuwählen – Aleksej

Antwort

1

Sie benötigen CLOB zum XMLTYPE Art werfen:

select xmltype(XMLDATA) from FINAL_XML 

Dies wird Ihnen ein Fehler, wenn Ihr CLOB Feld keine gültige XML.

1

Bitte siehe unten, wie XML-Daten aus einer Spalte von xmltype zu lesen:

SELECT x.xml_data.getClobVal() 
FROM xml_tab x; 

Wenn Ihr XMLDATA Spalte xmltype Datentyp ist dann Sie Abfrage geht so:

SELECT xmldata.getClobVal() 
    FROM FINAL_XML;