CLOB列に格納されたXMLから情報を抽出しようとしています。私はフォーラムを検索し、これまで必要に応じてデータを取得することができませんでした。私はSQLの基本的な理解を持っているが、これは私の外にある。SQLからXMLキー「値」を取り出す方法CLOB
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」(最終的には他のフィールドの値を取得しますが、少なくとも一つは、最初の作業を取得したい)「SANO」で「値」として割り当てを引くことができ、それを取得しようとしています。
3つの例はすべて素晴らしいです!そして、はい、XMLTABLEを使用する3番目の方法が最も簡単になります。どうもありがとうございます! – JayRod