ORACLE中BLOB字段查询的方法

用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,utl_raw.cast_to_raw('所要匹配的内容'),1,1)<>0;
这样就可以顺利的查找出来了。
例子:

select * from EC_EBVPINFO  where dbms_lob.instr(publish_info,utl_raw.cast_to_raw('下载专区'),1,1)<>0;

参考文献:

http://blog.csdn.net/springk/article/details/6866248

http://blog.csdn.net/rogerjava/article/details/7591204

你可能感兴趣的:(Oacle)