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 字符转表函数

--定义type CREATE OR REPLACE TYPE "OBJ_CODE" IS OBJECT (        ID INT ,        CODE varchar2(50) ...
  • BASEDEDATO
  • BASEDEDATO
  • 2017年04月12日 10:18
  • 277

oracle 字符串split转换成列表格

 create or replace type strsplit_type as table of VARCHAR2(32676) create or replace function str...
  • yaoye_1985
  • yaoye_1985
  • 2015年05月25日 11:31
  • 2172

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

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

oracle怎么切割一个指定的字符串按指定的标志符分割成字符数组

比方说你从数据库中查出来的数据是一个字符串,是有,隔开的多个字符串,这方法是极好的。首先定义一个分割函数,具体如下L CREATE OR REPLACE FUNCTION f_str...
  • Q1059081877Q
  • Q1059081877Q
  • 2015年07月14日 23:26
  • 4314

ORACLE遍历字符串

SQL> select * from t10;        ID----------         1         2         3         4         5       ...
  • wh62592855
  • wh62592855
  • 2009年12月06日 12:00
  • 2144

oracle拆分逗号分隔字符串 实现split

最近老有人问题同样的sql 实现方法,itpub 上发一下,照顾百度用户。 如果一个字符串中有像逗号或其它符号分隔,你想把它折分成列,如’first field, second field , th...
  • doupeihua
  • doupeihua
  • 2016年03月25日 16:28
  • 12473

oracle 字符串分割转化为多条记录

select a.name (select COLUMNSTRJOIN(a.name)                        from cmdb_keycity a            ...
  • shefron
  • shefron
  • 2014年01月25日 23:15
  • 1762

在oracle 对有效的字符串分割,后并获得每个分割的字符

---例如: segmet1,segmet2,segmet3,segmet4 ---p_string =‘segmet1,segmet2,segmet3,segmet4’---p_element 它是...
  • yuan8080
  • yuan8080
  • 2011年06月17日 17:59
  • 879

Oracle中使用游标转换数据表中指定字段内容格式(拼音转数字)

应用场景:将数据表TB_USER中字段NNDP的内容中为[sannanyinv]转换为[3男1女]主要脚本:一个游标脚本+分割字符串函数+拼音转数字脚本操作步骤如下:1、创建类型 create or ...
  • xqf222
  • xqf222
  • 2015年01月08日 15:18
  • 1339

oracle从游标批量提取数据

传统的fetch into一次只能取得一条数据,使用fetch bulk collect into可以一次从游标中取得所有数据,使用limit子句可以限制一次取的数据条数 1、fetch bulk ...
  • ceclar123
  • ceclar123
  • 2012年09月13日 14:54
  • 6592
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle将以特定分隔的字符串转成表格的方法(用于类似游标的遍历)
举报原因:
原因补充:

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