Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Trích xuất các thẻ phụ XML từ một clob trong Oracle qua SQL

EXTRACTVALUE không được dùng nữa trong Oracle 12 - nó đang được thay thế bằng XMLTABLE hoặc 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;

hoặc

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

Nhưng nếu bạn muốn sử dụng EXTRACTVALUE bạn có thể làm:

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. Tại sao một bộ định lượng không tham lam đôi khi không hoạt động trong Oracle regex?

  2. Tách kết quả truy vấn sau khi tải XML bằng fn:string-join trong bảng Oracle

  3. Truy vấn Viết lại Không thành công nếu MV sử dụng ASNI Tham gia

  4. Lỗi cú pháp trong câu lệnh SQL ngoại lệ ném từ khóa “WITH”

  5. Tìm khoảng trống trình tự trong bảng trong Oracle