有如下字符串 a=badfd+dfddc+ddasd+sfd
现在要截取符号之间的字段,也就是badfd;dfddc;ddasd;sfd这四个结果,现提供一下PLSQL语言,
大侠帮助一下,修改修改
declare
v_sql long;
i number :=1;
j number :=1;
begin
v_sql:='a=badfd+dfddc+ddasd+sfd';
loop
select instr(v_sql,'+',1,j) into i from dual;
j:=j+1;
exit when i=0;
dbms_output.put_line(i);
end loop;
end;
------解决方案--------------------
- SQL code
--按你的写法declarev_sql long;i number :=1;j number :=1;beginv_sql:='a=badfd+dfddc+ddasd+sfd';v_sql:=regexp_replace(v_sql,'[a-zA-Z]+=','');loopselect instr(v_sql,'+',1,j) into i from dual;dbms_output.put_line(regexp_substr(v_sql,'[^+]+',1,j));j:=j+1; exit when i=0;end loop;end;//*badfd dfddc ddasd sfd */