我有一个要求,我需要搜索所有记录,如'00456159/%‘。在数据库中有两个记录00456159/A和00456159/I,但是在我使用的下面的代码中,它没有给出任何records.Can,有人指出我正在做的错误吗?谢谢,
SET SERVEROUTPUT ON;
DECLARE
Cursor c2(v_comp IN VARCHAR2) is select distinct rate_agreement_nbr rag FROM APL_PRICING.rate_agreement
WHERE RATE_AGREEMENT_NBR like ''''||v_comp||'%'||'''';
v_comp1 VARCHAR2(15);
BEGIN
v_comp1 :=SUBSTR('00456159/A',1,9);
For v_rec in c2(v_comP1)
loop
DBMS_OUTPUT.PUT_LINE(v_rec.rag);
end loop;
END;发布于 2015-03-04 18:21:44
您的谓词是连接'''',它会在表达式的开头和结尾添加一个额外的文字引号字符(')。但是,您要匹配的数据没有任何嵌入的引号,因此查询找不到任何匹配的行。
而不是
''''||v_comp||'%'||'''';使用以下命令:
v_comp||'%';https://stackoverflow.com/questions/28851601
复制相似问题