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中用于拆分字符串的函数,并通过具体的示例展示它们的用法。 1. **instr() 函数** `instr()` 是Oracle中的一个内建函数,它用于查找子串在目标字符串中的位置。例如,`instr(string, ...
传入一个字符串和该字符串的分割字符,返回去重后的字符串,可以直接在plsql中运行,简单的函数运用,能处理oracle中。资源仅供参考
### Oracle 分隔字符串函数知识点详解 #### 一、Oracle 分隔字符串函数介绍 在 Oracle 数据库中处理字符串是一项常见的需求,特别是在数据清洗、格式转换等场景下。Oracle 提供了一系列强大的字符串处理函数来帮助...
函数内部使用了一个循环来拆分字符串,每次循环都会将拆分后的结果返回给调用者。 最后,我们可以使用这个函数来拆分字符串。例如,我们可以使用以下 SQL 语句来拆分一个字符串: ``` SELECT * FROM TABLE(f_split...
在Oracle数据库中,由于内置函数不直接支持像Java中的`split`那样拆分字符串并返回数组,因此开发者需要自定义函数来实现这一功能。这里提到的两种方法都是为了解决这个问题,即根据指定的分隔符将字符串拆分为一个...
Oracle中的`concat()`函数是最基本的字符串连接方法。它接受两个或更多个字符串作为参数,并返回它们的连接结果。例如: ```sql SELECT concat(column1, ', ', column2) AS combined_string FROM table_name; `...
将字符串分割成数组: 例如将字符串“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数据库中,并没有内置的split函数来处理字符串的分割操作。然而,在实际应用中,经常需要将一个包含多个值的字符串按照指定的分隔符进行拆分,转换为表格式的数据,以便进行进一步的处理或查询。为此,可以...
PL/SQL(Procedural Language for Oracle)作为Oracle数据库的一种强大工具,提供了丰富的功能来处理字符串,包括分割、连接、替换等操作。本文将深入探讨如何在PL/SQL中实现字符串的分割,并通过具体代码示例进行...
本文将深入探讨如何在Oracle中截取JSON字符串内容,通过提供的函数示例进行详细解析。 首先,我们关注标题中的核心概念:“Oracle截取JSON字符串内容”。在Oracle数据库中,处理JSON数据通常涉及到JSON语法的理解和...
- **解释**:该语句调用了`GetSplitOfIndex`函数,传入字符串`'111,b2222,323232,32d,e,323232f,g3222'`,分隔符`,`,以及索引5,即获取第五个子字符串。 - **结果**:根据函数的定义,当`n=5`时,截取的结果应为`...
实现原理可能是先将汉字字符串拆分成单个字符,然后对每个字符调用Java方法获取拼音,最后将所有拼音拼接成一个字符串。 以下是一个简化的示例,展示了如何在Oracle中使用Java存根调用Java的pinyin4j库: 1. 首先...
4. **字符串函数**: - `SUBSTR`:从字符串中提取子串。 - `LENGTH`:返回字符串的长度。 - `UPPER`和`LOWER`:分别将字符串转换为大写和小写。 5. **聚合函数**: - `COUNT`:计算行的数量。 - `SUM`:计算...
对于截取字符串,Oracle中有两个函数substr(),instr()截取规则的字符串使用起来较为方便,...--str2 拆分字符串 --index 字符串个数索引 --查询语句:select num_char('ws++rq++sl++dl','++',4) from dual --返回结果:dl
这篇博客“一个oracle根据特定字符截取数据”分享了一个实用的方法,适用于那些需要从字符串字段中提取部分信息的情况。通过SQL查询,我们可以高效地完成这项任务。 在Oracle SQL中,有多个内置函数可以帮助我们...
Oracle的`REGEXP_SUBSTR`函数用于从字符串中提取符合正则表达式模式的部分。在这个例子中,`[^,]+`是一个正则表达式,表示匹配任何非逗号字符的一个或多个实例。参数`1, LEVEL`是指从字符串的第1个字符开始,按层级...
`SUBSTR` 是Oracle中的一个字符串函数,用于提取字符串的一部分。在给定的例子中,它用于截取逗号分隔的字符串中每个单独的元素。例如: ```sql SUBSTR (T.RPT_ID, INSTR (T.RPT_ID,',',1,C.LV)+ 1, INSTR (T.RPT...
2. 编写转换方法:定义一个函数,接收一个汉字字符串作为参数,然后返回对应的五笔码字符串。这个函数内部可能涉及到查找字典、拆分汉字和组装五笔码的过程。 3. 测试:编写测试用例,确保转换功能的正确性。例如,...