oracle按分隔符取数据

 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;
   
end;

你可能感兴趣的:(数据库)