sql >> Database teknologi >  >> RDS >> Oracle

Udtrækning af XML-undermærker fra en clob i Oracle via SQL

EXTRACTVALUE er forældet i Oracle 12 - det bliver erstattet af XMLTABLE eller 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;

eller

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

Men hvis du ønsker at bruge EXTRACTVALUE du kan gøre:

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


  1. Bedste måde at holde TEKST-feltet unikt i MySQL-databasen

  2. Er der et "connect by"-alternativ i MySQL?

  3. Hvad er ændret mellem postgres jdbc 8.4 og 9 vedrørende bytearrays?

  4. Valg af minimumsforskellen mellem to datoer i Oracle, når datoerne er repræsenteret som UNIX-tidsstempler