sql 拆分逗号分隔的字符串(PIPELINED函数)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 拆分逗号分隔的字符串(PIPELINED函数)相关的知识,希望对你有一定的参考价值。

  TYPE varchar_tab IS TABLE OF VARCHAR2(100);

  FUNCTION split_string(in_comma_separated_values IN VARCHAR2) RETURN varchar_tab
    PIPELINED IS
    val    VARCHAR2(32);
    i_from PLS_INTEGER := 1;
    i_to   PLS_INTEGER;
    len    PLS_INTEGER;
  BEGIN
    len := LENGTH(in_comma_separated_values);
    LOOP
      i_to := instr(in_comma_separated_values, ',', i_from, 1);
      IF i_to = 0
      THEN
        i_to := len + 1;
      END IF;
      val := substr(in_comma_separated_values, i_from, i_to - i_from);
      PIPE ROW(val);
      IF i_to >= len
      THEN
        RETURN;
      END IF;
      i_from := i_to + 1;
    END LOOP;
  END;

以上是关于sql 拆分逗号分隔的字符串(PIPELINED函数)的主要内容,如果未能解决你的问题,请参考以下文章

SQL拆分逗号分隔的字符串

SQL拆分逗号分隔的字符串

SQL:使用 SQL 将两个逗号分隔的字符串拆分为单独的索引行

sql 将逗号分隔的字符串拆分为值列表(返回游标)

如何根据一个字段是不是包含oracle sql中的逗号分隔字符串将单行拆分为多行?

我想拆分用逗号分隔的字符串并在 SQL Server 中另存为新行 [重复]