oracle 的查询问题!!!

问题:

declare aaa integer;email varchar2(100) :='1234@aa.com';
begin
select count(*) into aaa from dual where exists (select 1 from user_account where EMail=email);
--aaa:=123;
dbms_output.put_line(aaa);
end;

查询出来总是1,就是总是有数据,不管表里面是否有‘1234@aa.com’

折磨了一上午时间,终于找到问题所在。

问题原因:where条件email=email 因为oracle中不区分大小写,所以查询条件是列名=列名。

解决方法:将变量email改为 email_123(随意起名)即可。

感谢 https://blog.csdn.net/u013244530/article/details/52869662

原文地址:https://www.cnblogs.com/uftwkb24/p/9626456.html