--创建OBJECT类型,包含三个字段

CREATE OR REPLACE TYPE OBJ_V_TABLE AS OBJECT

(

ID VARCHAR2(50),

NAME VARCHAR2(50),

DESCP VARCHAR2(50)

);

--创建一个表类型

CREATE OR REPLACE TYPE V_TABLE IS TABLE OF OBJ_V_TABLE;

--创建拆分函数,分隔符每三个对应三个表字段

CREATE OR REPLACE FUNCTION SPLIT(P_STR VARCHAR2,

P_DELIMITER VARCHAR2 DEFAULT ',')

RETURN V_TABLE

IS

RS V_TABLE := V_TABLE();

L_STR VARCHAR2(4000) := '';

L_LEN NUMBER := 0;

ID VARCHAR2(50);

NAME VARCHAR2(50);

DESCP VARCHAR2(50);

BEGIN

L_STR := P_STR;

L_LEN := LENGTH(P_DELIMITER);

WHILE LENGTH(L_STR) > 0 LOOP

RS.EXTEND;

IF INSTR(L_STR, P_DELIMITER,1,3) > 0 THEN

ID := SUBSTR(L_STR, 1, INSTR(L_STR, P_DELIMITER) - 1);

L_STR := SUBSTR(L_STR, INSTR(L_STR, P_DELIMITER) + L_LEN);

NAME := SUBSTR(L_STR, 1, INSTR(L_STR, P_DELIMITER) - 1);

L_STR := SUBSTR(L_STR, INSTR(L_STR, P_DELIMITER) + L_LEN);

DESCP := SUBSTR(L_STR, 1, INSTR(L_STR, P_DELIMITER) - 1);

L_STR := SUBSTR(L_STR, INSTR(L_STR, P_DELIMITER) + L_LEN);

RS(RS.COUNT) := OBJ_V_TABLE(ID, NAME, DESCP);

ELSIF INSTR(L_STR, P_DELIMITER,1,2) > 0 THEN

ID := SUBSTR(L_STR, 1, INSTR(L_STR, P_DELIMITER) - 1);

L_STR := SUBSTR(L_STR, INSTR(L_STR, P_DELIMITER) + L_LEN);

NAME := SUBSTR(L_STR, 1, INSTR(L_STR, P_DELIMITER) - 1);

L_STR := SUBSTR(L_STR, INSTR(L_STR, P_DELIMITER) + L_LEN);

DESCP := L_STR;

RS(RS.COUNT) := OBJ_V_TABLE(ID, NAME, DESCP);

EXIT;

ELSIF INSTR(L_STR, P_DELIMITER,1,1) > 0 THEN

ID := SUBSTR(L_STR, 1, INSTR(L_STR, P_DELIMITER) - 1);

NAME := SUBSTR(L_STR, INSTR(L_STR, P_DELIMITER) + L_LEN);

RS(RS.COUNT) := OBJ_V_TABLE(ID, NAME, '');

EXIT;

ELSE

RS(RS.COUNT) := OBJ_V_TABLE(L_STR, '', '');

EXIT;

END IF ;

END LOOP ;

RETURN RS;

END ;

--运行

SELECT * FROM TABLE(SPLIT('a,张山,1,b,李四,2,c,王五,3,5,六七'));

运行结果:

oracle一个表拆成多个表,oracle拆分函数,将字符串拆分成多行多字段表数据相关推荐

  1. 分割成数组php字符串函数,PHP 分割字符串函数把字符串分割成数组示例

    这篇文章主要为大家详细介绍了PHP 分割字符串函数把字符串分割成数组示例,具有一定的参考价值,可以用来参考一下. 对PHP分割字符串函数把字符串分割成数组感兴趣的小伙伴,下面一起跟随512笔记的小编两 ...

  2. oracle字符转换为大写,oracle函数把字符串转换成小写

    Oracle函数: Lower(char):将字符串装换为小写的格式 Upper(char):将字符串装换为大写的格式 length(char):返回字符串的长度 substr(char,m,n):从 ...

  3. oracle一个库给多个用户名,配置oracle数据库服务器(为用户分配账户及空间和建立账户管理机制)...

    配置数据库服务器 介绍如何为用户分配账户和空间以及如何设置权限. 14.4.1 为用户分配账户及空间 数据库服务器软件和管理软件安装好之后,接下来就是为用户分配账户和空间了.本小节将详细介绍为用户分配 ...

  4. oracle一个汉字三个字节,1个汉字在UTF-8编码占3个字节

    8. 实例 下面,举一个实例. 打开"记事本"程序Notepad.exe,新建一个文本文件,内容就是一个"严"字,依次采用ANSI,Unicode,Unicod ...

  5. oracle字符串转换浮点数,c#中将字符串转换成带2位小数的浮点数

    今天遇到一个展示酒店价格的需求,觉得是要显示成"¥0.00"样式的,就做个小随笔,将字符串装换成带2位小数的浮点数 代码如下 string aaa = ""; ...

  6. 将字符串转换成16进制

    将字符串转换成16进制 原文:将字符串转换成16进制 1.将普通字符串转换成16进制的字符串. 点击进入推荐链接 class Program {static void Main(string[] ar ...

  7. 程序员编程艺术第三十 三十一章 字符串转换成整数,通配符字符串匹配

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 第三十~ ...

  8. 字符串转换成整数,带通配符的字符串匹配

    之前本一直想写写神经网络算法和EM算法,但写这两个算法实在需要大段大段的时间,而平时上班,周末则跑去北大教室自习看书(顺便以时间为序,说下过去半年看过的自觉还不错的数学史方面的书:<数理统计学简 ...

  9. JS字符串转换成数字的三种经典方法和代码实例

    1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把值转换成浮点数.只有对String类型调用这些方法,这两个函数才能正确运行: 对其他类 ...

最新文章

  1. python官网 中文版 新闻-用python看新闻
  2. 使用windows服务更新站点地图
  3. 面向 Web 前端的原生语言总结手册
  4. Android板实现双屏显示,DisplayManager和Display的使用
  5. EJB3.0零碎要点---在部署web本地客户端的时候org.apache.jasper.JasperException: java.lang.ClassCastException: $Proxy
  6. 洛谷P1120【小木棍】(搜索+剪枝)
  7. 链接数据库超级简单的工具类C3P0谁用谁知道
  8. php 获取某文件内容
  9. ubuntu下配置IP地址
  10. paypal php 接口文档,paypal接口开发记录
  11. 机器学习应用——导学part
  12. 计算机画图图形组合教案,绘制简单的图形教案
  13. 【前端就业课 第一阶段】HTML5 零基础到实战(二)超链接
  14. scikit-learn中的KMeans聚类实现
  15. 程序员的有个坏习惯!
  16. Form_Load():不要甩锅给我
  17. 计算机更新后启动不了,win10系统更新显卡之后开不了机如何解决
  18. 用汽车拉苹果的例子来说HTTPS的安全性很容易理解 但HTTPS并不是绝对可靠的
  19. 关于linux中socket阻塞与非阻塞
  20. 2022年Web时代猜想

热门文章

  1. javascript学习之数组的使用一 push pop shift unshift 方法
  2. 简单排序(插入排序法)
  3. jquery遍历元素children、find、parent、parents、parentsUntil、next、prev、siblings、closest、filter、not
  4. Echarts数据可视化series-map地图,开发全解+完美注释
  5. (一)MySQL 基础配置
  6. C#指南,重温基础,展望远方!(8)C#数组
  7. IE10-浏览器实现placeholder效果
  8. [转载] Python集合取交集intersection()函数和intersection_update()函数
  9. [转载] python之numpy的基本使用
  10. [转载] Python3接口自动化框架:第三方openpyxl库读取excel之命名元组namedtuple承载数据