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

Không thể trích xuất giá trị XML từ Oracle CBLOB

extract() chức năng không được dùng nữa . Tốt hơn nên sử dụng XMLQuery() .

Bạn cần phải khai báo một không gian tên mặc định để khớp với một không gian tên trong tài liệu XML:

select XMLQuery('
    declare default element namespace 
      "http://schemas.datacontract.org/2004/07/LCC.Crew.FAReserves.wsvc.Entities.FAReserves"; (: :)
    /Bid/BidName/text()'
  passing XMLType(xmlbidcontent)
  returning content) as BidName
from employeebids
where EmployeeBidID = 100;

BIDNAME                                                                         
--------------------------------------------------------------------------------
BAC

hoặc (đơn giản hơn nhưng kém mạnh mẽ hơn) sử dụng ký tự đại diện:

select XMLQuery('/*:Bid/*:BidName/text()'
  passing XMLType(xmlbidcontent)
  returning content) as BidName
from employeebids
where EmployeeBidID = 100;

BIDNAME                                                                         
--------------------------------------------------------------------------------
BAC

db <> fiddle hiển thị các truy vấn ban đầu của bạn và cả hai truy vấn này, sử dụng CTE để cung cấp giá trị CLOB mẫu.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đang cố gắng cấu trúc lại truy vấn đệ quy trong Oracle CTE?

  2. Làm cách nào tôi có thể tạo xác thực trực tiếp phía máy chủ oracle apex mà không cần gửi trang

  3. Làm cách nào để gỡ cài đặt / gỡ bỏ hoàn toàn Oracle 11g (máy khách)?

  4. Thay thế nhanh hơn trong Oracle để CHỌN COUNT (*) TỪ bàn nào đó

  5. Không thể kéo kết quả bằng cách chuyển đầu vào là đường dẫn xml trong oracle