2016-12-15 14 views
0

これはOracle Database 11gのシナリオです。問合せが必要なXMLデータを持つBLOBフィールドです。私は、XMLをBLOBフィールドに挿入されたのか分からないが、これは私がDBMS_LOB.SUBSTR()関数を使用してクエリを取得していますものです:Oracle Database 11gのBLOBフィールドからXMLを取得する方法は?

enter image description here

+4

これはXMLのようには見えません。 – Sentinel

+0

@Sentinel convert()関数で何らかのエンコーディングをした後にできますか? –

答えて

2

をここであなたがそれを行う方法です:

  • 1. まず、BLOBに挿入したXMLの構造を知る必要があります。たとえば: select XMLTYPE(blob_field, 1) as XML from my_table;

  • 2. 今、あなたは次の操作を行うことができ、特定の文字列を抽出するためにSUBSTR機能を使用する場合: SELECT substr(XMLTYPE (UTL_RAW.cast_to_varchar2 (blob_field)).EXTRACT('xml_tag/xml_tag/../text()'),200,200) as "XML DATA" FROM my_table where pk = 123123;

この例では、xml_tag/xml_tag/../text()はあなたのXML構造です。たとえば、私の構造は<Profile><Name>Your Customer Name</Name></Profile>です。だから私はProfile/Name/text()のように書く必要があります

私はそれが役立つことを願っています。

+0

ありがとう、それはフィールドにxml、おそらくいくつかのバイナリデータがないようです。私は情報を取得するためにWebサービスを使用して終了しました。 –

関連する問題