问题是关于按字符串变量搜索查询。
declare
phone varchar(15):='+77071414714';
cnt number:=0;
begin
SELECT COUNT(*) into cnt FROM CUSTOMERS WHERE (TELNUMBER=phone OR TELNUMBER LIKE phone);
dbms_output.put_line(cnt);
end;
此代码打印0.而
declare
cnt number:=0;
begin
SELECT COUNT(*) into cnt FROM CUSTOMERS WHERE TELNUMBER='+77071414714';
dbms_output.put_line(cnt);
end;
打印5。 如何制作第一个代码来打印5?
答案 0 :(得分:0)
试试这个
declare phone varchar(30) DEFAULT '+77071414714';
declare cnt number:=0;
begin
SELECT COUNT(*) into cnt FROM CUSTOMERS WHERE TELNUMBER=phone;
dbms_output.put_line(cnt);
end;
答案 1 :(得分:0)
问题解决了。问题出在列TELNUMBER的数据类型中,它是CHAR(15)。通过将其更改为VARCHAR(15),它就可以解决了。感谢mathguy。