create type char_table is table of varchar2(4000);--创建自定义类型脚本

create or replace function split_string(pi_str in varchar2, pi_separator in varchar2) --创建函数

return char_table

is

v_char_table char_table;

--create type char_table is table of varchar2(4000);--创建自定义类型脚本

v_temp varchar2(4000);

v_element varchar2(4000);

begin

v_char_table := char_table();

v_temp := pi_str;

while instr(v_temp, pi_separator) > 0

loop

v_element := substr(v_temp,1,instr(v_temp, pi_separator)-1);

v_temp := substr(v_temp, instr(v_temp,pi_separator)+ length(pi_separator) , length(v_temp));

v_char_table.extend;

v_char_table(v_char_table.count) := v_element;

end loop;

v_char_table.extend;

v_char_table(v_char_table.count) := v_temp;

return v_char_table;

end split_string;

--测试

select split_string('safs,utjtje,2412q1a,egwsff',',') from dual;

--实际应用

create or replace function initCFJG

return varchar2

is

pragma AUTONOMOUS_TRANSACTION;

guid varchar2(80):=''; --GUID

zjid varchar2(80):='';--主键id

lxid varchar2(80):=''; --处理结果类型id

lxidsArr char_table; --字符串数组,char_table为自定义类型

begin

for p in(select lp_id,zfgl_id,case_id,cf_amount from dzjc_xzzf_t_zfgl where lp_id is not null)

loop

zjid:=p.zfgl_id;

select split_string(p.lp_id,',') into lxidsArr from dual;

for i in 1 .. lxidsArr.count

loop

--dbms_output.put_line(lxidsArr(i));

select GETGUID into guid from dual;

select cfjd_cflx into lxid from cf_t_cfjd where rownum =1 and cfjd_id=lxidsArr(i);

if lxid='3'then

insert into dzjc_xzzf_t_zfgl(zfgl_id,case_id,lp_id,cf_amount) values (guid,p.case_id,'159_'||lxid,p.cf_amount);

else

insert into dzjc_xzzf_t_zfgl(zfgl_id,case_id,lp_id) values (guid,p.case_id,'159_'||lxid);

end if;

end loop;

delete from dzjc_xzzf_t_zfgl where zfgl_id=zjid;

end loop;

commit;

return '执行完成';

end;

oracle数组转换字符串函数,Oracle 字符串转数组的函数相关推荐

  1. php把数组转换成对象,php怎么将数组转换成对象

    echoecho() 函数输出一个或多个字符串.注释:echo() 函数实际不是一个函数,所以您不必对它使用括号.然而,如果您想要传多于一个参数给 echo(),使用括号将会生成解析错误.print ...

  2. js 一维数组转换成二维、三维数组

    需求:后台接口返回一个一维数组,前端需要转换成一个二维,或者三维数组进行级联展示 举个例子: 根据产品类型可以分为:智能手机.耳机.智能家电... 其中智能手机中又可以分为: Ace系列,Reno系列 ...

  3. HTML collection数组转换成正常的dom对象数组

    HTML collection对象是一个类数组,如何将它转化为正常的数组,我们可以这样: var obj = document.getElementsByClassName('songlists') ...

  4. java String、Json对象与byte数组转换

    用途 测试String对象与byte数组转换方式 测试Json对象与byte数组转换方式 源代码 import java.io.UnsupportedEncodingException; import ...

  5. numpy的基本使用 附python代码详细讲解(numpy函数,创建数组,常用属性,索引切片,数组的复制,修改维度,数组的分割、拼接、转置)

    目录 使用array创建数组 使用arange创建数组 Numpy中的随机数创建 ndarray对象的常用属性 其他方式创建数组 索引和切片(一位数组.二维数组) 数组的复制 修改数组的维度 数组的拼 ...

  6. long数组与Long数组转换

    2019独角兽企业重金招聘Python工程师标准>>> Set<Long> idsSet = new HashSet<Long>(); //过滤没有详情的id ...

  7. vue数组转list集合_数组转换成集合

    package com.loaderman.jdk5; import java.util.ArrayList; import java.util.Arrays; import java.util.Li ...

  8. oracle关于字符串函数,Oracle字符串处理函数

    Oracle字符串处理函数 Oracle字符串处理函数 2008年10月18日 星期六 23:45 项目中有涉及存储过程对字符串的处理,所以就将在网上查找到的资料汇总,做一个信息拼接式的总结. 以下信 ...

  9. Oracle 基础语句 函数大全(字符串函数,数学函数,日期函数,逻辑运算函数...

    --[字符串函数] --字符串截取substr(字段名,起始点,个数) select Name,substr(Name,2,4),substr(Name,0,3),substr(Name,-2,3), ...

  10. Go 学习笔记(11)— 切片定义、切片初始化、数组和切片差异、字符串和切片转换、len()、cap()、空 nil 切片、append()、copy() 函数、删除切片元素

    1. 切片定义 Go 语言切片是对数组的抽象. Go 中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容 ...

最新文章

  1. C#筛法求出范围内的所有质数
  2. bat输出log日志操作
  3. .net中javascript去调用webservice
  4. 基于Android 虹软人脸、人证对比,活体检测
  5. idea中maven的setting.xml的配置
  6. 安卓窗口动画修改制作心得
  7. devops之路rancher安装
  8. 计算机开题报告中的研究方法,开题报告:经济学写论文用到的五种研究方法
  9. 一篇文章搞懂富人的内在逻辑|普通人如何改变命运?【财富02】
  10. matlab 产生时域波形,matlab时域波形图
  11. 稀疏编码中的正交匹配追踪(OMP)与代码
  12. javalang 生成抽象语法树AST ----python源码分析
  13. 计算机中英字幕精品教程合集
  14. 2017年最新苹果开发者账号注册申请流程最强详解!
  15. 《0~3岁孩子的 正面管教》——备忘
  16. (遇到问题)鼠标右键卡住且一直显示转圈
  17. 软考程序员有必要考吗?
  18. Word doc/docx 格式文件转换为 MarkDown
  19. 最新Sublime Text3 注册码激活码,持续更新!
  20. jackson jdk版本对应关系_使用Jackson

热门文章

  1. SecureCrt 常用命令
  2. linux进程创建截图,命令行程序创建网站截图(在Linux上)
  3. C语言之volatile用法(二十一)
  4. Linux内存buffer与cache区别
  5. 报错:libtool: Version mismatch error. This is libtool 2.4.6解决
  6. Android Binder机制的Native应用—双向通信
  7. Android OTA升级(2):开启升级过程
  8. Abseil之Copies, Abbrv
  9. Windows10---开启FTP服务与配置
  10. vba 字体颜色_Excel填充单元格颜色和改变字体颜色,用VBA是怎样实现的呢?