我有一个变量(称为:all_email_list),其中总共包含 3 个电子邮件地址列表。(我发现了一些类似的问题,但与正确的解决方案不同)
示例:(test@asd.com, test2@asd.com,test@asd.com,test3@asd.com, test4@asd.com,test2@asd.com逗号之间可以包含空格,但并非始终如此)
所需的输出:test@asd.com, test2@asd.com,test3@asd.com,test4@asd.com
declare
first_email_list varchar2(4000);
second_email_list varchar2(4000);
third_email_list varchar2(4000);
all_email_list varchar2(4000);
begin
select listagg(EMAIL,',') into first_email_list from UM_USER a left join UM_USERROLLE b on (a.mynetuser=b.NT_NAME) left join UM_RULES c on (c.id=b.RULEID) where RULEID = 902;
select listagg(EMAIL,',') into second_email_list from table2 where CFT_ID =:P25_CFT_TEAM;
select EMAIL into third_email_list from table3 WHERE :P25_ID = ID;
all_email_list:= first_email_list || ',' || second_email_list || ',' || third_email_list;
dbms_output.put_line(all_email_list);
end;
Run Code Online (Sandbox Code Playgroud)
有什么办法可以简单地解决这个问题吗?也许通过正则表达式。