用PL/SQL查询Oracle数据库时,涉及BLOB类型字段,对其内容的查询方法记录如下:
数据库中的字段都是BLOB且装的是XML,需要对XML中的各个节点进行统计,即统计每个节点在每个表中的总量
本来想把BLOB转化成XMLTYPE的,却没有找到方法,最后使用BLOB的全文检索解决问题
sql 如下:
select * from table_name where dbms_lob.instr(column,utl_raw.cast_to_raw('所要匹配的内容'),length(column),1)<>0;
即查在blob中存在那个节点名称的记录
根据具体情况,修改如下:
select * from table_name where dbms_lob.instr(column,1,1)<>0;
这样就可以顺利的查找出来了。
例子:
select * from EC_EBVPINFO where dbms_lob.instr(publish_info,utl_raw.cast_to_raw('下载专区'),1)<>0;
参考文献:
http://blog.csdn.net/springk/article/details/6866248
http://blog.csdn.net/rogerjava/article/details/7591204
原文链接:https://www.f2er.com/oracle/208077.html