2017-05-15 4 views
0

XML形式のデータをRawに変換する必要があるものの、取得できません。 XMLデータをvarchar2に変換しようとしましたが、Cast_to_rawを使用していましたが、生の変換エラーに16進数を表示しています。親切に私にそれを行う方法を教えてください。XML形式のデータをRaw形式のデータに変換する方法

答えて

0

例では、xmltypeからblob要素への変換について説明します。生の値を取得する必要がある場合は、dbms_substrを実行します。

declare 
    dest_offset integer; 
    src_offset integer; 
    lang_context integer; 
    warning  varchar2(1000); 
    v_xml_object xmltype; 
    v_blob   blob; 
    v_clob  clob; 
begin 
    --get example xmltype 
    select dbms_xmlgen.getXmlType('select * from user_objects where rownum < 10') into v_xml_object from dual; 
    --convert xmltype to clob 
    v_clob := v_xml_object.getClobVal(); 
    --initi variable 
    dbms_lob.createtemporary(v_blob, FALSE); 
    dest_offset := 1; 
    src_offset := 1; 
    lang_context := 0; 
    -- convert to a BLOB here: 
    dbms_lob.converttoblob(v_blob, v_clob, dbms_lob.getlength(v_clob), dest_offset, src_offset, 0, lang_context, warning); 
    dbms_output.put_line(warning); 
    dbms_output.put_line(dbms_lob.substr(v_blob,length(v_blob))); 
end; 
関連する問題