Oracle以固定字符截取字符串


CREATE OR REPLACE FUNCTION "F_SPLIT" (p_str IN CLOB, p_delimiter IN VARCHAR2)

  RETURN ty_str_split IS

  j        INT := 0;

  i        INT := 1;

  len      INT := 0;

  len1     INT := 0;

  str      VARCHAR2(4000);

  str_split ty_str_split := ty_str_split();

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);

      str_split.EXTEND;

      str_split(str_split.COUNT) := str;

 

     IF i >= len THEN

       EXIT;

     END IF;

   ELSE

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

      i  := j + len1;

      str_split.EXTEND;

      str_split(str_split.COUNT) := str;

   END IF;

  END LOOP;

 

  RETURN str_split;

END f_split;

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM