SQL LIKE查询不起作用

时间:2010-07-08 17:36:53

标签: sql oracle

我正在尝试针对Oracle DB运行以下查询,但查询返回0条记录:

select * from TABLE 
where upper(FIELD) like '%SEE COMMENT%'

我知道这个字段包含许多带有“See Comment”的记录。例如,这是其中一条记录:

=if(and(Robust_Mean>=20,Robust_Mean<=70),.03*(Robust_Mean+29),
if(Robust_Mean>70,.083*(Robust_Mean^.9),"See Comment"))

我猜测该字段中的引号正在弄乱查询,但我不知道如何绕过它。有什么建议吗?

2 个答案:

答案 0 :(得分:1)

这对我有用:

create table testLike (aCol varchar2(500) );

INSERT INTO TESTLIKE VALUES('abc');
insert into testLike values('=if(and(Robust_Mean>=20,Robust_Mean<=70),.03*(Robust_Mean+29),
if(Robust_Mean>70,.083*(Robust_Mean^.9),"See Comment"))');


SELECT * 
  FROM TESTLIKE TL 
 WHERE upper(tl.acol) like '%SEE COMMENT%';
你可以重新创建吗?

编辑: 在您的查询中试试这个:

select * from TABLE 
WHERE UPPER(FIELD) = '=if(and(Robust_Mean>=20,Robust_Mean<=70),.03*(Robust_Mean+29),
if(Robust_Mean>70,.083*(Robust_Mean^.9),"See Comment"))';

看看是否有任何结果

答案 1 :(得分:1)

刚才意识到这个表中有两个类似命名的字段,我选择了错误的字段。