oracle pipelined 管道函数 拆分制定字符串的特定字符并返回表
2015-11-06 16:07
381 查看
<pre name="code" class="sql">pipelined :管道函数 1,返回行集合,可以像物理表一样查询,也可以赋值给集合变量 2,并行执行,可以实时的输出函数执行过程中的信息 3,pipe row()用来返回集合的单个元素;4,实例:拆分制定字符串的特定字符并返回表
create or replace function strsplit(p_value varchar2, p_split varchar2 := ',')--usage: select * from table(strsplit('1,2,3,4,5')) return type_split pipelined is v_idx integer; v_str varchar2(4000); v_strs_last varchar2(4000) := p_value;begin loop if substr(v_strs_last,
length(v_strs_last), 1) = p_split then v_strs_last := substr(v_strs_last, 1, length(v_strs_last) - 1); if substr(v_strs_last, length(v_strs_last) - 1, 2) = p_split then v_strs_last := substr(v_strs_last, 1, length(v_strs_last) - 1); end if; end if; v_idx :=
instr(v_strs_last, p_split); exit when v_idx = 0; v_str := substr(v_strs_last, 1, v_idx - 1); v_strs_last := substr(v_strs_last, v_idx + 1); pipe row(v_str); end loop; pipe row(v_strs_last); return;end strsplit;
相关文章推荐
- oracle删除当前用户所有表,视图,存储过程等
- oracle 11.2.0.4 查找还在使用默认密码的用户
- 【TBC】关于Oracle的一些零碎问题的记录
- oracle,mysql分页
- SAP和Oracle的对比
- CentOS linux下安装Oracle客户端
- oracle中null的理解
- mysql数据库实现类似oracle connect by prior的查询
- oracle函数大全-字符串处理函数
- 如何在Oracle中复制表结构和表数据 【转载】
- ORACLE简单的存储过程
- Linux下Oracle安装文件.cpio.gz文件的解压
- Oracle细节总结(三)
- Oracle中的日期和字符串互相转换以及格式化
- oracle创建用户名和密码,授权,导入, 以及导出
- oracle插入主键数据、sequence和触发器
- Java 批量插入数据(Oracle)
- oracle创建数据库、表空间、用户的过程
- 读取远程表并逆向生成建表语句
- 手动创建oracle数据库实例