如何从Oracle Database 11g中的BLOB字段获取XML?

时间:2016-12-15 17:59:00

标签: xml oracle oracle11g blob

这是Oracle Database 11g中的一个场景,它是一个BLOB字段,它包含我需要查询的XML数据。我不知道如何将XML插入到blob字段中,但这是我使用DBMS_LOB.substr()函数查询的结果:

enter image description here

1 个答案:

答案 0 :(得分: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()

希望它有所帮助。