Oracle
 sql >> база данни >  >> RDS >> Oracle

Извличане на XML подтагове от clob в Oracle чрез SQL

EXTRACTVALUE е остарял в Oracle 12 - той се заменя с XMLTABLE или 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;

или

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

Но ако искате да използвате EXTRACTVALUE можете да направите:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-12705:Няма достъп до NLS файлове с данни или невалидна среда

  2. SQL грешка:ORA-02298:не може да се потвърди (SYSTEM.AEROPUERTO_FK) - родителските ключове не са намерени

  3. Не може да се извлече XML стойност от Oracle CBLOB

  4. Oracle Spatial - изберете обекти, попадащи в зоната

  5. Кой буркан на уеблогичен сървър/други ресурси би могъл да има клас:oracle.security.jps.ee.http.JpsFilter?