此博客爲工做時,所見技術問題的解決方案筆記,歡迎你們轉載,轉載請註明出處,謝謝~sql
更新時間: 2017-07-12oracle
1. clob字段值讀取時,借用extractvalue或extract函數讀取節點時,oracle報數據類型不一致異常
函數
解決思路: 數據類型問題,猜想1.多是獲取的節點值與所需值類型發生衝突,查看sql,發現實際上並沒有關聯,若是能查詢出節點值,必然爲字符串類型,不存在衝突,猜想2.多是空值問題,extractvalue函數不存在空值報錯問題,猜想3: 可能clob類型不支持extractvalue函數,由於oracle還有另外一個字段一樣也是存xml字符串的---SYS.XMLTYPE類型spa
解決方案: 若是xml字段爲clob類型,則將xml字段轉成SYS.XMLTYPE類型,即xmltype(xml),若是是SYS.XMLTYPE類型直接用該函數便可3d
更新時間: 2017-10-23xml
2. 解決extractvalue和extract函數獲取相同節點名稱值,報錯失敗問題blog
Xmlsequence函數能夠將extract函數查找到的同名節點集合生成多行記錄,藉助table函數生成虛擬表,getstringval函數將節點轉化成string字符串字符串