Oracle将以特定分隔的字符串转成表格的方法(用于类似游标的遍历)

转载 2016年08月31日 09:37:11
CREATE OR REPLACE TYPE TY_OBJECT AS OBJECT(COL_NAME VARCHAR2(200));
/
CREATE OR REPLACE TYPE TY_TABLE AS TABLE OF TY_OBJECT;
/
CREATE OR REPLACE FUNCTION STR2TABLE(V_STR       IN VARCHAR2,
                                     V_DELIMITER IN VARCHAR2)
--此函数的目的是将以特定字符分隔的字符串转换为游标形式,以例遍历此游标
 RETURN TY_TABLE AS
  V_TY_TABLE TY_TABLE;
BEGIN
  SELECT TY_OBJECT(REGEXP_SUBSTR(V_STR,
                                 '[^' || V_DELIMITER || ']+',
                                 1,
                                 LEVEL,
                                 'i'))
    BULK COLLECT
    INTO V_TY_TABLE
    FROM DUAL
  CONNECT BY LEVEL <=
             LENGTH(V_STR) -
             LENGTH(REGEXP_REPLACE(V_STR, '' || V_DELIMITER || '', '')) + 1;
  RETURN V_TY_TABLE;
END;
/
--应用示例
SELECT * FROM TABLE(STR2TABLE('1,2,3',','));
/

相关文章推荐

oracle 字符串split转换成列表格

 create or replace type strsplit_type as table of VARCHAR2(32676) create or replace function str...

Oracle 把字符串分割后保存到Table的一个字段中

动态传递参数(先把参数字符串按照一定的格式拼接起来再分割保存为Table),分别查询出来在插入到动态表通过管道函数实现把形如:‘HB;YN;FJ;ZJ’的字符串分割保存到Table。

Oracle游标-提取记录、游标循环

1. 两种提取数据方式: FETCH 游标名 INTO 变量名1[,变量名2...];  FETCH 游标名 INTO 记录变量;  第一种格式中的变量名是用来从游标中接收数据的变量,需要事...

oracle拆分逗号分隔的字符串

方法一: oracle下字段拆分,字段合并的一种方式oracle下字段拆分,字段合并的一种方式   在数据库处理中,我遇到了设计很让人蛋疼的表。 此表处理一对多关系的方式是:将一个主键对应的多...

javascript小方法之数组去重、数字转成逗号分隔、html元素去标签

一、数组去重 javascript数组去重,首先介绍一种时间复杂度比较高的方法,先给这个数组排序,之后再遍历数组,当遇到重复的元素时跳过即可。这个方法耗时的地方在对数组排序。 下面介绍一种方法:f...

ORACLE 游标遍历

-- Created on 2011-10-9 by HUCHANGKUN  declare    -- Local variables here    CURSOR C_EVENT is  s...

sql 将‘1,2,3,4’转成相应的表,字段分隔表值函数,一行变多行,

再设计表的时候我们经常遇到这样的情况,字段的值为1,2,3,4 等字符隔开的情况,存的是数字,但是显示的时候是对应的类别,直接上图,清楚明了, 如何想得到 分两步完成,步骤如下:...

js字符串转成数字的三种方法

js读取的html代码中获得的值 ,统统是以字符串的形式呈现的,为了方便我们后面对数据的操作,有时候我们有必要进行转换一下。 方法主要有三种 转换函数、强制类型转换、利用js变量弱类型转换...

用SQL游标遍历循环数据的方法

如果对数据进行遍历循环操作,通过SQL的游标就可以实现,下面就为您详细介绍该方法,供您参考,希望对您学习SQL数据库能够有所帮助。 SQL游标的优点是可以方便从一个结果集中进行循环遍历数据在进行操作...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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