oracle sql-无关紧要光标的上方或下方

问题描述 投票:0回答:2

只要域名匹配,输入域名即可在数据库中搜索,无论域名是高位还是低位。

示例。数据库中的“ hotmail.com”,如果我输入“ hOTmAIL.Com”。它仍然找到域名“ hotmail.com”。

cursor E_info is select Email_Address from broker
where REGEXP_LIKE (substr(Email_Address, instr(Email_Address,'@')+1), old_email);
sql oracle cursor uppercase lowercase
2个回答
0
投票

您可以在不使用regexp_like的情况下执行此操作。

select * from test where lower(substr(email_address,instr(email_address,'@')+1))=lower('HotMail.com');

与正则匹配时相比,与regexp_like相比,返回结果更快。


0
投票
create or replace procedure PR_Q3
(old_email in varchar2, new_email in varchar2)
authid current_user
is 
cursor E_info is select Email_Address from broker
where REGEXP_LIKE (substr(Email_Address, instr(Email_Address,'@')+1), old_email);
v_email E_info%rowtype;
begin 
open E_info;
loop
fetch E_info into v_email;
exit when E_info%notfound;
update broker set 
Email_Address = replace(Email_Address,substr(Email_Address,instr(Email_Address,'@')+1),new_email) 
where Email_Address = v_email.Email_Address;
end loop;
close E_info;
end PR_Q3;
© www.soinside.com 2019 - 2024. All rights reserved.