Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Extrahieren von XML-Sub-Tags aus einem Clob in Oracle über SQL

EXTRACTVALUE ist in Oracle 12 veraltet und wird durch XMLTABLE oder XMLQUERY .

SELECT x.description
FROM   your_table t
       CROSS JOIN
       XMLTABLE(
         '//object/'
         PASSING XMLTYPE( t.your_clob_column )
         COLUMNS description VARCHAR2(4000) PATH './property[@name="description"]/@value'
       ) x;

oder

SELECT XMLQUERY(
         '//object/property[@name="description"]/@value'
         PASSING XMLTYPE( your_clob_column )
         RETURNING CONTENT
       ).getStringVal()
FROM   your_table;

Aber wenn Sie EXTRACTVALUE verwenden möchten Sie können Folgendes tun:

SELECT EXTRACTVALUE(
         XMLTYPE( your_clob_column ),
         '//object/property[@name="description"]/@value'
       )
FROM   your_table;