簡體   English   中英

將XML轉換為oracle中的表

[英]convert XML to table in oracle

我有以下格式的XML,存儲在oracle數據庫的XMLType列中

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

我需要將其轉換為表格格式

c
1
2

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

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'   
))  

這個網址中有答案。

例如,用戶daggett這樣做:

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  
;  

謝謝,工作。

活塞鉗;

    select *  
    FROM XMLTABLE('/mydata/UCRET'  
             PASSING   
                xmltype('<mydata>'||pISLEMLER||'</mydata>
                ')
             COLUMNS  
                --describe columns and path to them:  
                F_M_IS_ID  varchar2(20)    PATH './FMISID',  
                ISKONTO varchar2(20)    PATH 'ISK'
         ) xmlt;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM