首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PL/SQL的LIKE条件中使用变量

在PL/SQL的LIKE条件中使用变量
EN

Stack Overflow用户
提问于 2015-03-04 18:06:43
回答 1查看 1.9K关注 0票数 0

我有一个要求,我需要搜索所有记录,如'00456159/%‘。在数据库中有两个记录00456159/A和00456159/I,但是在我使用的下面的代码中,它没有给出任何records.Can,有人指出我正在做的错误吗?谢谢,

代码语言:javascript
复制
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;
EN

回答 1

Stack Overflow用户

发布于 2015-03-04 18:21:44

您的谓词是连接'''',它会在表达式的开头和结尾添加一个额外的文字引号字符(')。但是,您要匹配的数据没有任何嵌入的引号,因此查询找不到任何匹配的行。

而不是

代码语言:javascript
复制
''''||v_comp||'%'||'''';

使用以下命令:

代码语言:javascript
复制
v_comp||'%';
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28851601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档