这是Oracle Database 11g中的一个场景,它是一个BLOB字段,它包含我需要查询的XML数据。我不知道如何将XML插入到blob字段中,但这是我使用DBMS_LOB.substr()函数查询的结果:
答案 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()
希望它有所帮助。