declare str varchar2(100); startposition number(10); len number(10); output varchar2(100); begin str:='hello,nick,xingxing'; startposition:=1; loop select instr(str,',',startposition ) into len from dual; dbms_output.put_line(startposition); dbms_output.put_line(len);
if len!=0 then select substr(str,startposition,len-startposition) into output from dual; else select substr(str,startposition) into output from dual; dbms_output.put_line(output); exit; end if;
dbms_output.put_line(output); startposition:=len+1; dbms_output.put_line('-------------------------------------'); end loop;
strSql = "1,2,3,4,5,6,7,8,9,10";
怎么循环出来?谢谢啦
str varchar2(100);
startposition number(10);
len number(10);
output varchar2(100);
begin
str:='hello,nick,xingxing';
startposition:=1;
loop
select instr(str,',',startposition ) into len from dual;
dbms_output.put_line(startposition);
dbms_output.put_line(len);
if len!=0 then
select substr(str,startposition,len-startposition) into output from dual;
else
select substr(str,startposition) into output from dual;
dbms_output.put_line(output);
exit;
end if;
dbms_output.put_line(output);
startposition:=len+1;
dbms_output.put_line('-------------------------------------');
end loop;
end;