oracle 的系統視圖中有一個 clob 列 binds_xml v$sql_monitor。它內部具有準xml格式,如下所示:

所以我想如何將這樣的 XML 轉換為人類可讀的格式,例如:
| 姓名 | POS | 資料型別 | 價值 |
|---|---|---|---|
| :B1 | 1 | 數字 | 118904234 |
| :B2 | 2 | 數字 | 6452822 |
它可以存盤在 CLOB 或 VARCHAR 中——沒關系。
uj5u.com熱心網友回復:
您可以使用XMLTable處理 XML 值,從每個bind節點中提取所需的屬性和值:
select x.name, x.pos, x.datatype, x.value
from v$sql_monitor vsm
cross apply xmltable(
'/binds/bind'
passing xmltype(vsm.bind_xml)
columns name varchar2(30) path '@name',
pos number path '@pos',
datatype varchar2(30) path '@dtystr',
value varchar2(4000) path '.'
) x
order by x.pos
| 姓名 | POS | 資料型別 | 價值 |
|---|---|---|---|
| :B1 | 1 | 數字 | 118904234 |
| :B2 | 2 | 數字 | 6452822 |
db<>小提琴
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/488373.html
