ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 关于全文索引查询问题及oracle转义符

关于全文索引查询问题及oracle转义符

原创 Linux操作系统 作者:lichangzai 时间:2009-04-30 09:04:19 0 删除 编辑

现在遇到一个很奇怪的问题,我的infobase表上的classid字段建了全文索引,我下面的语句查时出现下面的错误:
SQL>  Select * From infobase
  2     Where  Contains(Classid, '(00010002') > 0;

ORA-29902: error in executing ODCIIndexStart() routine
ORA-20000: Oracle Text error:
DRG-50901: text query parser syntax error on line 1, column 18

用下面的语句查就不会有问题,即把'(00010002' 换成'(00010002)'或'00010002'

SQL>  Select * From infobase
  2     Where  Contains(Classid, '(00010002)') > 0;

SQL>  Select * From infobase
  2     Where  Contains(Classid, '00010002)') > 0;

是不是Contains的语法里不能有单个'('的存在呀?
如果我就想查(00010002下面的子类,如:(00010002001) 、(00010002002)
能把'('转译成字符串吗?
注意:我现在是想用全文索引查,不想用like

SQL> select * from tt where name like '%\%7%' escape '\';

NAME COUNT
---------- ----------
aaa%7bbb

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10783447/viewspace-592331/,如需转载,请注明出处,否则将追究法律责任。

上一篇: itpub空间开张
请登录后发表评论 登录
全部评论

注册时间:2009-03-16

  • 博文量
    3
  • 访问量
    25029