自定义函数-文本拆分多行

转载 2015年11月17日 16:22:15

一个字段的值 1,2,3,4。。。 要输出一列

因为不知道多少个,所以 substr instr 用起来比较麻烦

自己写一个函数 类似于split

CREATE OR REPLACE 

FUNCTION FSS_SPLIT
(
   P_LIST NVARCHAR2,
   P_SEP NVARCHAR2 := ','
)  RETURN TYPE_SPLIT PIPELINED
IS
   L_IDX  PLS_INTEGER;
   V_LIST  NVARCHAR2(32767) := P_LIST;
BEGIN
   LOOP
      L_IDX := INSTR(V_LIST,P_SEP);
      IF L_IDX > 0 THEN
          IF SUBSTR(V_LIST,1,L_IDX-1) IS NOT NULL THEN
              PIPE ROW(SUBSTR(V_LIST,1,L_IDX-1));
          END IF;
          V_LIST := SUBSTR(V_LIST,L_IDX+LENGTH(P_SEP));
      ELSE
          IF V_LIST IS NOT NULL THEN
              PIPE ROW(V_LIST);
          END IF;
          EXIT;
      END IF;
   END LOOP;
   RETURN;

END;


【数据平台】pandas将一列中的文本拆分成多行

1、场景:如下图,要将cont中的字符串分割出词汇并单独成一行        2、一列中的文本拆分成多行的效果: 3、实现方法: 方法一: df=df.dro...
  • fjssharpsword
  • fjssharpsword
  • 2017年10月31日 17:10
  • 396

Oracle 单字段拆分成多行

方法一SELECT DISTINCT STUID, REGEXP_SUBSTR (STUNAME, '[^,]+', 1, LEVEL) STUNAME, STUSEX FRO...
  • u012414590
  • u012414590
  • 2017年05月08日 21:01
  • 3004

[Hive]Hive将一行记录拆分成多行

借助lateral view 和 explode,将一行记录拆分成多行
  • yeweiouyang
  • yeweiouyang
  • 2015年06月03日 23:05
  • 9438

oracle 一行拆分多行

现遇到问题: 表中的记录为     ID             name               amount      1                a,b,c          ...
  • TrHlxc
  • TrHlxc
  • 2015年11月26日 16:15
  • 2140

sql逗号分开的指定列,分成多行

if object_id('tempdb.dbo.#tb') is not null drop table #tb go create table #tb (id int,price varcha...
  • TianGaojie123abc
  • TianGaojie123abc
  • 2014年11月24日 15:56
  • 938

Sqlserver根据某字段分隔符将一条记录拆分为多行记录

参考地址:http://blog.sina.com.cn/s/blog_b3eabfd30102wldv.html 参考语句: if object_id('[aaa]') is not n...
  • qq_28009401
  • qq_28009401
  • 2016年12月05日 18:31
  • 2635

MySQL 5.7.16 字符串拆分 -> 单列变多行记录

DELIMITER $$ USE `test`$$ DROP PROCEDURE IF EXISTS `proc_cur_split_str`$$ USE `test`$$ CREATE PROCED...
  • mchdba
  • mchdba
  • 2016年12月26日 22:12
  • 4257

Oracle SQL符号分隔的多行字符串拆分

Oracle SQL 符号分隔 多行字符串 拆分
  • Seandba
  • Seandba
  • 2017年05月23日 22:51
  • 1925

PostgreSQL 一行变多行

实例表:  postgres=# \d book Table "public.book" Column | Type ...
  • luojinbai
  • luojinbai
  • 2015年03月19日 15:15
  • 2231

linux 用awk gsub将一行变成多行

原数据 103153926#1180545867#1337681140#1358188028#1445076068#1527059220#1625614569#1890561581#19584762...
  • zj360202
  • zj360202
  • 2016年10月12日 11:45
  • 1872
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自定义函数-文本拆分多行
举报原因:
原因补充:

(最多只允许输入30个字)