有一个输入参数字符串,如:“aaaa*bb*tttt*dddd”,我想把类似这样的字符串以‘*’号为标识,截取出‘aaaa’‘bb’‘tttt’‘dddd’,保存到一个table里。请教实现方法。谢谢。

解决方案 »

  1.   

    写个存储过程吧...i1 number:=1;
    i2 number:=1;while i1 < length(str) loop
      if substr(str,i1,1) = '*' then
         insert into table values(substr(str,i2,i1-i2));
         i2 := i1+1;
      end if;  
      i1 := i1+1;
    end loop;insert into table values(substr(str,i2,i1-i2));
      

  2.   

    Replace('‘'||char||'’', '*', '’‘')
      

  3.   

    参考这个贴子:http://topic.csdn.net/u/20071204/09/2a16c620-604e-481a-8464-18af101e5c25.html?seed=582425780
      

  4.   

    select Replace('aaaa*bb*tttt*dddd', '*')  from dual
      

  5.   

    呵呵,用substr  instr這二個函數就可以實際