2015-07-28 44 views
0

我有以下格式的XML,店的XMLType列在Oracle數據庫轉換XML表在Oracle

<a> 
<c>1</c> 
<c>2</c> 
</a> 

我需要在表格格式轉換這是

c 
1 
2 

任何想法如何使用SQL做到這一點?

回答

0

這裏有答案url

例如用戶達蓋特這樣做:

select * 
FROM XMLTABLE('/person/row' 
     PASSING 
      xmltype(' 
       <person> 
        <row> 
         <name>Tom</name> 
         <Address> 
          <State>California</State> 
          <City>Los angeles</City> 
         </Address> 
        </row> 
        <row> 
         <name>Jim</name> 
         <Address> 
          <State>California</State> 
          <City>Los angeles</City> 
         </Address> 
        </row> 
       </person> 
      ') 
     COLUMNS 
      --describe columns and path to them: 
      name varchar2(20) PATH './name', 
      state varchar2(20) PATH './Address/State', 
      city varchar2(20) PATH './Address/City' 
    ) xmlt 
; 
1
with data as 
(select '<a><c>1</c><c>2</c></a>' xmlval 
from dual) 
(select c 
    from data d, 
     xmltable('/a/*' passing xmltype(d.xmlval) 
     columns 
    c varchar2(254) path '/c' 
)) 
+0

謝謝解決弗蘭克。除了在'/ a/*'中使用「*」之外,我幾乎已經弄明白了 – Nitesh