2016-12-15 85 views
0

这是Oracle数据库11g中的场景,这是一个具有需要查询的XML数据的BLOB字段。我不知道XML是如何插入BLOB字段,但是这就是我与查询使用DBMS_LOB.substr得到()函数:如何从Oracle数据库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服务来获取信息。 –

相关问题