写成存储过程了
--iStr 输入的字符串,pStr 分隔符
create or replace procedure P_ListStr(iStr varchar2,pStr varchar2)
as
vStr varchar2(1000);
vStr1 varchar2(100);
begin
vStr := iStr;
if instr(vStr,pStr,1)>0 then
while instr(vStr,pStr,1)>0 loop
select substr(vStr,1,instr(vStr,pStr,1)-1),
substr(vStr,instr(vStr,pStr,1)+1,length(vStr)-instr(vStr,pStr,1)) into vStr1,vStr from dual;
dbms_output.put_line(vStr1);
end loop;
dbms_output.put_line(vStr);
else
dbms_output.put_line(vStr);
end if;
end;
写了个简单的,你可能要改改
declare
vStr varchar2(200);
vStr1 varchar2(100);
begin
vStr := '盐田区|龙岗区|宝安区|南山区|福田区|罗湖区';
if instr(vStr,'|',1)>0 then
while instr(vStr,'|',1)>0 loop
select substr(vStr,1,instr(vStr,'|',1)-1),
substr(vStr,instr(vStr,'|',1)+1,length(vStr)-instr(vStr,'|',1)) into vStr1,vStr from dual;
dbms_output.put_line(vStr1);
end loop;
dbms_output.put_line(vStr);
else
dbms_output.put_line(vStr);
end if;
end;