2016-08-04 41 views
0

我想提取存儲在XMLDATA列中的XML數據 我的表FINAL_XML有以下列爲CLOB XML

IDENTIFIERTYPE | IDENTIFIER | DATE  | XMLDATA 
-------------- | ---------- | --------- | ------- 
CONTACT  | 1   |0216-08-04 | CLOB, 4500 Bytes 

有沒有寫一個select語句,其將返回實際的XML樹的方式選擇查詢?

感謝

+0

你是什麼意思與「實際的XML樹」?你需要一個XMLTYPE結果嗎? – Aleksej

+0

是的。如果我從FINAL_XML中選擇XMLDATA,它將返回CLOB,4500字節,我想看看裏面是什麼 – ivanz

+1

也許你只需要從FINAL_XML中選擇xmltype(XMLDATA) – Aleksej

回答

1

你需要投你CLOBXMLTYPE類型:

select xmltype(XMLDATA) from FINAL_XML 

這會給你一個錯誤,如果你CLOB領域是不是一個有效的XML。

1

請參考下面如何從一個XMLType列讀取XML數據:

SELECT x.xml_data.getClobVal() 
FROM xml_tab x; 

如果XMLDATA列的XMLType數據類型,那麼你的查詢是這樣:

SELECT xmldata.getClobVal() 
    FROM FINAL_XML;