0
我試圖從存儲在CLOB列中的XML中提取信息。我搜索了論壇,並因此一直無法根據需要獲取數據。我對SQL有一個基本的理解,但這超出了我的理解。如何從SQL CLOB獲取XML鍵「值」
的XML是類似以下內容:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Header>
<OrderNum value="12354321"/>
<ExtractDate value="11-30-2012"/>
<RType value="Status"/>
<Company value="Company"/>
</Header>
<Body>
<Status>
<Order>
<ActivityType value="ValidateRequest"/>
<EndUser>
<Name value="Schmo, Joe"/>
<Address>
<SANO value="12345"/>
<SASN value="Mickey Mouse"/>
<SATH value="Lane"/>
<SASS value="N"/>
<City value="Orlando"/>
<State value="FL"/>
<Zip value="34786"/>
<Number value="5550000"/>
</Address>
</EndUser>
<COS value="1"/>
<TOS value="3"/>
<MainNumber value="5550000"/>
</Order>
<ErrorCode value="400"/>
<ErrorMessage value="RECEIVED"/>
</Status>
</Body>
</Response>
我想「地址」下的數值。
我試過以下,但它返回「NULL」。
SELECT EXTRACTVALUE(XMLTYPE(RESPONSE_CLOB),'/Response/Body/Status/Order/EndUser/Address/SANO') AS SANO
FROM RESPONSE_TABLE
WHERE ROWNUM < 2
我想獲得它,所以我可以拉「12345」指定爲「值」,在「佐野」(最終得到了其他領域的價值,但希望至少拿到一個工作第一) 。
這三個例子都很棒!而且,是的,第三個使用XMLTABLE將是最簡單的。非常感謝! – JayRod