如果有字符串"aa,bb,cc,dd" 如何实现按照","的分隔,分别取出字符串"aa","bb","cc","dd"呢

解决方案 »

  1.   

    substring('aa,bb,cc,dd',1,2)
    substring('aa,bb,cc,dd',4,2)
    substring('aa,bb,cc,dd',7,2)
    substring('aa,bb,cc,dd',10,2)
      

  2.   

    不是这样的  里面字符数目不是一定就是2  
    字符串有可能是('aa','dfsd','sdfaw','dsfdsfadsf')
      

  3.   

    instr 函数找到,的位置循环处理
      

  4.   


    DECLARE 
    j INT;
    aa VARCHAR2(300);
    bb VARCHAR2(10);
    cc VARCHAR2(20);
    BEGIN
    j:=1;
    aa:='aa,bb,cc,dd';
    bb:=',';
    WHILE j<>0
    LOOP
    j:=INSTR(aa,bb);
    IF j=0 THEN
       cc:=SUBSTR(aa,j+1,LENGTH(aa));
    ELSE
    cc:=SUBSTR(aa,1,j-1);
    aa:=SUBSTR(aa,j+1,LENGTH(aa));
    END IF;
    --DBMS_OUTPUT.PUT_LINE(aa);
    --DBMS_OUTPUT.PUT_LINE(j);
    DBMS_OUTPUT.PUT_LINE(cc);
    END LOOP;
    END;