Oracle:如何对CLOB行字段执行全文检索

文章作者 100test 发表时间 2007:03:14 13:33:01
来源 100Test.Com百考试题网


大家知道,超过4000字的文本一般存储在CLOB中(MSQL、Sysbase是存放在Text中),在目前的Oracle版本(Oracle8i)中,对大字段CLOB仍然不支持在where子句直接的like操作,如何实现对存储在CLOB字段中的内容进行like查找呢?下面的文章或则能给你帮助。虽然在SQL*PLUS中能实现用0select直接看到CLOB的内容,但是如何通过DBMS_LOB包实现对中文环境下的CLOB内容的读取我一直没有找到好的方法(使用Documents中提到的Samples只适用英文字符集),这极大的限制了使用第3方软件开发工作的自由度。如果那位仁兄有高招希望Email给我。

表结构:create table products(
productid number(10) not null ,
name varchar2(255) ,
description CLOB) ;

方法:SELECT productid, name FROM products
WHERE dbms_lob.instr(products.description,′some text′,1,1) > 0;

下面列出了DBMS_LOB包中的过程函数:

APPEND procedure Appends the contents of the source LOB to the destination LOB.

CLOSE procedure Closes a previously opened internal or external LOB.

COMPARE function Compares two entire LOBs or parts of two LOBs.

COPY procedure Copies all, or part, of the source LOB to the destination LOB.

CREATETEMPORARY procedure Creates a temporary BLOB or CLOB and its corresponding index in the user′s default temporary tablespace.

ERASE procedure Erases all or part of a LOB.

FILECLOSE procedure Closes the file.

FILECLOSEALL procedure Closes all previously opened files.


相关文章


一个Oracle数据库链接的JavaBean实例
Oracle共享连接和专用连接方式比较
Oracle:如何对CLOB行字段执行全文检索
如何将应用程序和Oracle客户端打包
在Oracle中实现搜索分页查询
教你利用组来保证Oracle数据库的安全
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛