类似SQL的查询不起作用

类似SQL的查询不起作用,sql,oracle,Sql,Oracle,我试图对Oracle DB运行以下查询,但该查询返回0条记录: select * from TABLE where upper(FIELD) like '%SEE COMMENT%' 我知道此字段包含许多带有“请参阅注释”的记录。例如,以下是其中一条记录: =if(and(Robust_Mean>=20,Robust_Mean<=70),.03*(Robust_Mean+29), if(Robust_Mean>70,.083*(Robust_Mean^.9),"See Co

我试图对Oracle DB运行以下查询,但该查询返回0条记录:

select * from TABLE 
where upper(FIELD) like '%SEE COMMENT%'
我知道此字段包含许多带有“请参阅注释”的记录。例如,以下是其中一条记录:

=if(and(Robust_Mean>=20,Robust_Mean<=70),.03*(Robust_Mean+29),
if(Robust_Mean>70,.083*(Robust_Mean^.9),"See Comment"))
我猜字段中的引号会把查询搞得一团糟,但我不知道如何绕过它。有什么建议吗?

这对我很有用:

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"))';

看看是否有任何结果

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

您作为记录示例提供的字符串是您正在搜索的字段中包含的文本,还是生成该记录的SQL的一部分?字段是否包含See注释,包括双引号?是的,这就是字段中包含的确切文本。该字段实际上包含带双引号的See注释;你应该把你的答案标记为被接受的答案,这样其他看到这个问题的人就会浪费时间去寻找答案。