create or replace type string_table is table of varchar2(2000);
create or replace function splitter(p_string in varchar2,p_delimiter in varchar2)
return string_table pipelined
as
--功能:用于拆分字符串
--用法:select * from table(splitter('wallimn,http://wallimn.iteye.com',','));
v_length number := length(p_string);
v_start number:=1;
v_index number;
begin
while(v_start<=v_length) loop
v_index := instr(p_string,p_delimiter,v_start);
if v_index=0 then
pipe row(trim(substr(p_string,v_start)));
v_start := v_length+1;
else
pipe row(trim(substr(p_string,v_start,v_index-v_start)));
v_start:=v_index+1;
end if;
end loop;
end splitter;
参考:http://www.cnblogs.com/yudy/archive/2012/07/18/2597874.html
分享到:
相关推荐
Oracle拆分字符串,字符串分割的函数,将返回一个表格,如果有需要的可以下载去看看。
传入一个字符串和该字符串的分割字符,返回去重后的字符串,可以直接在plsql中运行,简单的函数运用,能处理oracle中。资源仅供参考
oracle分隔字符串,分隔一个字符串成多个字符串,分隔条件按照用户自定义
最近在oracle 中用到拆分字符串返回数组,一直头痛,因为在 oracle 中没有类似java中有split 函数 ,所以要自己写。好不容搜到一个。那网上是到处都是这个代码。怎么找都是这个方法,我就用了。这个方法如下: ...
将字符串分割成数组: 例如将字符串“7369,7499,7521,7844"分割成 7369 7499 7521 7844 用法:可以将分割结果做为一个数组或者数据库表列来使用 select * from scott.emp where empno in (select column_value from...
string :需要进行正则处理的字符串 pattern :进行匹配的正则表达式 position :起始位置,从第几个字符开始正则表达式匹配(默认为1) occurrence :标识第几个匹配组,默认为1 modifier :模式(‘i’不区分大...
本文档详细介绍了如何在Oracle数据库中实现像C#等其它编程语言中Split函数来拆分字符的功能。例子简单易懂,并附有详细的实现过程。
主要介绍了Oracle截取JSON字符串内容 ,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
对于截取字符串,Oracle中有两个函数substr(),instr()截取规则的字符串使用起来较为方便,...--str2 拆分字符串 --index 字符串个数索引 --查询语句:select num_char('ws++rq++sl++dl','++',4) from dual --返回结果:dl
不做详解,直接上图。 SELECT T.NAME, T.TESTSTR FROM TEST2 T; SELECT DISTINCT T.NAME, REPLACE(REGEXP_SUBSTR(T.TESTSTR, '[^,]+', 1, LEVEL), ',', ' ') TESTSTR FROM TEST2 T WHERE 1 = 1 ...
单行拆分 如果表数据只有一行,则可以直接在原表上直接使用connect by+正则的方法,比如: select regexp_substr('444.555.666', '[^.]+', 1, level) col from dual connect by level <= regexp_count('444.555...
instr函数用于从指定的位置开始,从大型对象中查找第N个与模式匹配的字符串。 用于查找内部大对象中的字符串的instr函数语法如下: dbms_lob.instr( lob_loc in blob, pattern in raw, offset in integer := 1; nth...
最近项目中有很多需要做批量操作的需求,客户端把一组逗号分隔的ID字符串传给数据库,存储过程就需要把它们分割,然后逐个处理。 以往的处理方式有如下几种: 1、在存储过程内写循环,逐个分析字符串中的ID,然后...
项目需求是这样的表里的某个字段存储的值是以逗号分隔开来的,要求根据分隔的每一个值都能查出来数据,但是不能使用like查询。这篇文章主要介绍了Oracle字段根据逗号分割查询数据,需要的朋友可以参考下
找了网上很多资料,都没有详细的做法有的还很复杂,自己写了个分割函数,通过直接查询就能分割多行,很方便。
下面给大家介绍oracle统计时间段内每一天的数据,具体sql语句如下所示: 1. 生成1000个随机数 ...2. 例如:拆分以逗号隔开的 A,B,C,D 字符串 SELECT REGEXP_SUBSTR('A,B,C,D', '[^,]+', 1, ROWNUM) FROM DUAL CONN
Oracle 正则表达式实例详解 FORM开发中的按行拆分需求:拆分后的行要有规律,并按前后层次排序 需求分析如下: 现有行: 2 , 2.1 , 2.2 , 2.3 3 2.1.1, 2.1.2 , 2.1.3 , 2.2.1 , 2.1.1.1, ...
实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...
实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...