Ich brauche Hilfe beim Extrahieren der in einer CLOB-Spalte gespeicherten Daten. Ich möchte die CLOB-Daten in strukturierte Spalten und Zeilen konvertieren. SpaltendatenExtrahieren von Daten aus XML, die als CLOB gespeichert sind
CLOB:
<questions version="1">
<fld code="ADV" vis="Y"><oriVal></oriVal><curVal>N</curVal></fld>
<fld code="ASEN1" vis="Y"><oriVal></oriVal><curVal>N</curVal></fld>
<fld code="COGN" vis="Y"><oriVal></oriVal><curVal>A</curVal></fld>
<fld code="`enter code here`COM" vis="Y"><oriVal></oriVal></fld>
<fld code="COMORBID" vis="Y"><oriVal></oriVal><curVal>1</curVal></fld>
<fld code="DIET" vis="Y"><oriVal></oriVal><curVal>R</curVal></fld>
<fld code="DIS" vis="Y"><oriVal></oriVal></fld>
<fld code="DISC" vis="Y"><oriVal></oriVal><curVal></curVal></fld>
<fld code="DISC1" vis="Y"><oriVal></oriVal><curVal></curVal></fld>
<fld code="DISC2" vis="Y"><oriVal></oriVal><curVal></curVal></fld>
<fld code="DNR" vis="Y"><oriVal></oriVal><curVal>N</curVal></fld>
<fld code="ER" vis="Y"><oriVal></oriVal><curVal>1</curVal></fld>
</questions>
Ich mag würde die Daten als
CODE VALUE (curVal)
---------- --------------
ADV N
ASEN1 N
COGN Y
COMORBID 1
Ich habe versucht, laufen mehrere Abfragen, um zu sehen, konnte aber nicht das gewünschte Ergebnis erzielen.
SELECT EXTRACTVALUE(xmltype(QUESTIONXML), '/questions/fld/oriVal/curVal[@code="ADV"]')
FROM pac_copy.questionnaire;
SELECT EXTRACTVALUE(QUESTIONXML, '/questions/fld') FROM pac_copy.questionnaire;
SELECT XMLTYPE(u.QUESTIONXML).EXTRACT('/questions/fld/text()') as SORTCODE
FROM pac_copy.questionnaire u;
Vielen Dank für die Hilfe alex, ich habe diese Abfrage früher versucht - mir fehlte die xmltype-Funktion. –