失樂園

          技術之路

          BlogJava 聯系 聚合 管理
            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) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 淳安县| 开阳县| 寻乌县| 漯河市| 信丰县| 峨眉山市| 昌图县| 绍兴县| 都昌县| 信宜市| 凤凰县| 赫章县| 吴川市| 无为县| 西乌珠穆沁旗| 蓝山县| 胶南市| 宣城市| 锡林浩特市| 东丰县| 体育| 武汉市| 博客| 彭泽县| 潞西市| 清丰县| 习水县| 乌拉特前旗| 营山县| 平乡县| 三门峡市| 玛沁县| 黎城县| 伊春市| 诸城市| 浮梁县| 宣城市| 焦作市| 汨罗市| 太康县| 诸暨市|