plsql clob字段查询,查询不到test002

来源:百度知道 编辑:UC知道 时间:2024/06/26 00:16:30
数据库中字段content设置为clob类型,
1.select * form table where content like 'test002'
可以查询到content等于test002的记录,但是其他的记录中content也含中test002,则这样的语句查询不到.这个地方如果用like '%test002%',查不到记录.
2.select * from table where content like '%test002,test003%'
那么一条记录也查不到.
那个test002就是我要查的数据,不是替换过的
非常感谢badkano,很快就给我留言
但是那个方法也只能查出content=test002的记录,如果content=test002,test003
那么,还是查不到
to lackyhuang:
谢谢你的回答,这条语句在PLSQL里根本就不通过,报数值超出范围,我把你的char改成varchar2,总是报缺少右括号.
to badkana:
谢谢你一直关注这个问题,我也试了,虽然可以查询成功,也都能查出来,不过存在一个问题,就是后一条记录的内容总是包括以前的所有的记录的内容.
比如:
第一次内容test001 第二条 test001,test002,第三条test001,test002,test003
使用test001作为条件查询后:
第一条记录显示test001, (后面多个逗号)
第二条记录显示test001,test001,test002 (多出一个test001,)
第三条记录: test001,test001,test002,test001,test002,test003(包括了前两条记录的内容)

http://topic.csdn.net/t/20020822/13/961379.html

select * from table where dbms_lob.instr(content,'test002',1,1)>0

看看这个能执行过去吗?

select * from table where cast(content as char) like '%test002%'
这是SQL里的写法,不确定PLSQL是否一样,你试下吧。

看看能不能进行全文检索吧.