1.创建自己的类型 VARCHAR2ARRAY

CREATE OR REPLACE TYPE "VARCHAR2ARRAY" as table of varchar2(300);

2.创建函数SPLITSTR

CREATE OR REPLACE FUNCTION "SPLITSTR" (p_str       IN VARCHAR2,
p_delimiter IN VARCHAR2)
RETURN varchar2array IS
/**
* 对字符串进行对应的切割 p_str:字符串 p_delimiter:切割的字符
**/
j INT := 0;
i INT := 1;
len INT := 0;
len1 INT := 0;
str VARCHAR2(4000);
my_split varchar2array := varchar2array();
BEGIN
len := LENGTH(p_str);
len1 := LENGTH(p_delimiter);
WHILE j < len LOOP
j := INSTR(p_str, p_delimiter, i);
IF j = 0 THEN
j := len;
str := SUBSTR(p_str, i);
my_split.EXTEND;
my_split(my_split.COUNT) := str;
IF i >= len THEN
EXIT;
END IF;
ELSE
str := SUBSTR(p_str, i, j - i);
i := j + len1;
my_split.EXTEND;
my_split(my_split.COUNT) := str;
END IF;
END LOOP;
RETURN my_split;
END SPLITSTR;

3.怎样使用,一般在存储过程中使用。

declare
mysplit varchar2array;
begin
select SPLITSTR('a,b,44,',',') into mysplit from dual;--用逗号拆分。
dbms_output.put_line(mysplit(1));
dbms_output.put_line(mysplit(2));--位置2的结果为b
dbms_output.put_line(to_number(mysplit(3)));
end;

打印结果:

a

b

44





最新文章

  1. AngularJs之四
  2. Mvc中域的添加和不同域之间的跳转
  3. 文件操作 模式r+与w+
  4. 说说WeakReference弱引用
  5. 好的博客mark
  6. ES2015 ——let命令的暂时性死区
  7. PHP去除数组中重复数据的两个例子
  8. IOS开发之类和对象
  9. 用U盘烧写Uboot.bin到Nor Flash
  10. u-boot的nand驱动写过程分析
  11. IOS中的JSON数据的解析
  12. 调用phprpc的时候出现Fatal error: Cannot redeclare gzdecode()
  13. ios 指定页面禁用第三方键盘,使用系统的键盘
  14. poj1183 反正切函数
  15. Java程序基础编程基础
  16. Android Studio配置统一管理依赖版本号引用
  17. JXOI 2018 简要题解
  18. PCA和SVD最佳理解
  19. pytest.2.运行多个文件
  20. 第5月第10天 node.js的request模块

热门文章

  1. iOS移动端架构的那些事!(转载)
  2. 低字节序和高字节序相互转换(Little Endian/Big Endian)
  3. 获取fragment中的控件的写法
  4. jquery选择器专题
  5. Bootstrap_排版_标题
  6. javascript 字符串滚动显示
  7. 利用Php ssh2扩展实现svn自动提交到测试服务器
  8. mysql 表格中的数据量过大,修改数据库字段信息会花费很长的时间
  9. MySql存储过程—3、变量
  10. Jackson将json字符串转换成List&lt;JavaBean&gt;