oracle split() 函数

 1 create type tabletype is table of varchar2(3000);
 2 CREATE OR REPLACE FUNCTION split (p_list CLOB, p_sep VARCHAR2 := ‘,‘)
 3 RETURN tabletype
 4 PIPELINED
 5 /**************************************
 6 * Name: split
 7 * Author: Sean Zhang.
 8 * Date: 2012-09-03.
 9 * Function: 返回字符串被指定字符分割后的表类型。
10 * Parameters: p_list: 待分割的字符串。
11 p_sep: 分隔符,默认逗号,也可以指定字符或字符串。
12 * Example: SELECT *
13 FROM users
14 WHERE u_id IN (SELECT COLUMN_VALUE
15 FROM table (split (‘1,2‘)))
16 返回u_id为1和2的两行数据。
17 **************************************/
18 IS
19 l_idx PLS_INTEGER;
20 v_list VARCHAR2 (32676) := p_list;
21 BEGIN
22 LOOP
23 l_idx := INSTR (v_list, p_sep);
24 IF l_idx > 0
25 THEN
26 PIPE ROW (SUBSTR (v_list, 1, l_idx - 1));
27 v_list := SUBSTR (v_list, l_idx + LENGTH (p_sep));
28 ELSE
29 PIPE ROW (v_list);
30 EXIT;
31 END IF;
32 END LOOP;
33 END;
--test code
select * from table(split(‘1,2,3,4,5,6‘,‘,‘));
时间: 2024-11-05 18:31:34

oracle split() 函数的相关文章

[转]pipe row的用法, Oracle split 函数写法

=========================================================== 作者: flysky0814(http://flysky0814.itpub.net)发表于:2007.11.28 11:14分类: oracle10g 出处:http://flysky0814.itpub.net/post/35477/419443--------------------------------------------------------------- 为

oracle pl/sql split函数

在软件开发过程中程序员经常会遇到字符串的拼接和拆分工作. 以java开发为例: 前台传入字符串拼接形式的一个JSON数据,如:"1001,1002,1003",这可能代表了一组序号. 程序员需要将序号转名称后按照相同的格式输出,如:“张三.李四.王五”. Java程序员通用的做法是在service层将接收的"1001,1002,1003"拆分(使用java split函数),然后封装List,将List传递给DAO, 再传递给ORM持久层的xml调用sql执行,sq

oracle实现split函数功能

转载: http://blog.csdn.net/jojo52013145/article/details/6758279在实际的应用中,为了让PL/SQL 函数返回数据的多个行,必须通过返回一个 REF CURSOR 或一个数据集合来完成.REF CURSOR 的这种情况局限于可以从查询中选择的数据,而整个集合在可以返回前,必须进行具体化. 9i 通过引入的管道化表函数纠正了后一种情况.表函数是返回整个行的集(通常作为一个集合)的函数,可以直接从 SQL 语句中进行查询,就好像它是一个真正的数

oracle的split函数

PL/SQL 中没有split函数,需要自己写. 代码: create or replace type type_split as table of varchar2(50);  --创建一个 type ,如果为了使split函数具有通用性,请将其size 设大些. --创建function create or replace function split (    p_list varchar2,    p_sep varchar2 := ',' )  return type_split pi

Java - split()函数和trim()函数的使用方法

split()函数和trim()函数的使用方法 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24465141 详细參考Java API: http://docs.oracle.com/javase/6/docs/api/java/lang/String.html split()函数是依据參数如",", "-", " "等, 切割String字符串, 返回一个String的数组

split函数

Python中有split()和os.path.split()两个函数,具体作用如下:split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list)os.path.split():按照路径将文件名和路径分割开 一.函数说明1.split()函数 语法:str.split(str="",num=string.count(str))[n] 参数说明:str:   表示为分隔符,默认为空格,但是不能为空('').若字符串中没有分隔符,则把整个字符串作为列表的

数据库编程1 Oracle 过滤 函数 分组 外连接 自连接

[本文谢绝转载原文来自http://990487026.blog.51cto.com] <大纲> 数据库编程1 Oracle 过滤 函数 分组 外连接 自连接 本文实验基于的数据表: winsows安装好Oracle11g之后,开始实验 SQLplus 登陆 ORacle sqlplus 退出的方式 查看用户之下有什么表 查看表的所有记录,不区分大小写 设置SQLplus行宽,页宽,列宽: 清屏命令 select as 语法 1,as别名的使用 2,没有引号带有空格的别名,无法识别: 3,带有

数据库编程2 Oracle 过滤 函数 分组 外连接 自连接

[本文谢绝转载原文来自http://990487026.blog.51cto.com] 续:数据库编程1 Oracle 过滤 函数 分组 外连接 自连接 where like模糊查询,查询员工姓名是4个字母 SQL> select * from emp where ename like '____';      EMPNO ENAME                JOB                       MGR HIREDATE          SAL       COMM    

python中join和split函数

一个是分割,一个是连接. 惯例,先看内部帮助文档 Help on method_descriptor: join(...) S.join(iterable) -> string Return a string which is the concatenation of the strings in the iterable. The separator between elements is S. (END) 将可迭代对象(包含的应该是str类型的,不然会报错)连接起来, 返回值是str,用法如