我正在尝试针对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"))
我猜测该字段中的引号正在弄乱查询,但我不知道如何绕过它。有什么建议吗?
答案 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)
刚才意识到这个表中有两个类似命名的字段,我选择了错误的字段。