失樂(lè)園

          技術(shù)之路

          BlogJava 聯(lián)系 聚合 管理
            19 Posts :: 44 Stories :: 40 Comments :: 0 Trackbacks
          CREATE OR REPLACE FUNCTION fn_split (p_str IN VARCHAR2, p_delimiter IN VARCHAR2)


                     RETURN ty_str_split PIPELINED


          IS


                     j INT := 0;


              i INT := 1;


              len INT := 0;


              len1 INT := 0;


              str VARCHAR2 (4000);


          BEGIN


                     len := LENGTH (p_str);


              len1 := LENGTH (p_delimiter);





                     WHILE j < len


                     LOOP


                         j := INSTR (p_str, p_delimiter, i);





                         IF j = 0


                         THEN


                             j := len;


                      str := SUBSTR (p_str, i);


                      PIPE ROW (str);





                             IF i >= len


                             THEN


                          EXIT;


                      END IF;


                         ELSE


                      str := SUBSTR (p_str, i, j - i);


                      i := j + len1;


                      PIPE ROW (str);


                  END IF;


              END LOOP;





                     RETURN;


          END fn_split;

          使用方法:
          SELECT * FROM TABLE (fn_split ('INC1316086732328,INC1316086737562,INC1316083148750,INC1316072987015,INC1316053713729', ','))
          posted on 2011-09-16 09:26 狄浩 閱讀(1054) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 沁阳市| 怀来县| 景德镇市| 辽阳县| 泽州县| 彭水| 保康县| 阿城市| 通渭县| 寿阳县| 钟祥市| 富锦市| 宁武县| 中江县| 金平| 广灵县| 宜春市| 雅江县| 车致| 房产| 大港区| 延川县| 云南省| 府谷县| 卫辉市| 新绛县| 芷江| 榕江县| 都昌县| 昌江| 胶南市| 凤翔县| 南京市| 香格里拉县| 体育| 武汉市| 临沧市| 陈巴尔虎旗| 吉木萨尔县| 宁明县| 湟中县|