用substr()函数一个一个付给变量,再连起来就是

解决方案 »

  1.   

    create or replace procedure ptest(inputstr varchar2) is
      type tarr is varray(10) of varchar2(100);
      arr tarr:=tarr('','','','','','','','','','');
      
      i int;
      j int;
      str varchar2(200);
    begin
      j:=0;
      str:=inputstr;
      while true loop
        i:=instr(str,'|');
        if i<=0 then 
          exit;
        end if;
        
        j:=j+1;
        arr(j):=substr(str,1,i-1);
        str:=substr(str,i+1);    
      end loop;
        
      j:=j+1;
      arr(j):=str;
    end;
      

  2.   

    在存储过程里好像就得用substr函数来分解字符串了
      

  3.   

    用instr()函数来分解关键符号'|',再用substr分解出来送到数组里面就可以了