`
yi4521870
  • 浏览: 11678 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle中分割字符串的方法

    博客分类:
  • sql
阅读更多
首先,创建一个获取字符被分割数量的函数。

create or replace function Get_StrArrayLength
(
  av_str varchar2,  --要分割的字符串
  av_split varchar2  --分隔符号
)
return number
is
  lv_str varchar2(1000);
  lv_length number;
begin
  lv_str:=ltrim(rtrim(av_str));
  lv_length:=0;
  while instr(lv_str,av_split)<>0 loop
     lv_length:=lv_length+1;
     lv_str:=substr(lv_str,instr(lv_str,av_split)+length(av_split),length(lv_str)); 
  end loop;
  lv_length:=lv_length+1;
  return lv_length;
end Get_StrArrayLength;

然后,根据传入的索引,取出被分割出来的字符

create or replace function Get_StrArrayStrOfIndex
(
  av_str varchar2,  --要分割的字符串
  av_split varchar2,  --分隔符号
  av_index number --取第几个元素
)
return varchar2
is
  lv_str varchar2(1024);
  lv_strOfIndex varchar2(1024);
  lv_length number;
begin
  lv_str:=ltrim(rtrim(av_str));
  lv_str:=concat(lv_str,av_split);
  lv_length:=av_index;
  if lv_length=0 then
      lv_strOfIndex:=substr(lv_str,1,instr(lv_str,av_split)-length(av_split));
  else
      lv_length:=av_index+1;
      lv_strOfIndex:=substr(lv_str,instr(lv_str,av_split,1,av_index)+length(av_split),instr(lv_str,av_split,1,lv_length)-instr(lv_str,av_split,1,av_index)-length(av_split));   
  end if;   
  return  lv_strOfIndex;   
end Get_StrArrayStrOfIndex;

最后,调用这两个函数,我们就可以在sql里面像数组一样来使用分割字符串。

分享到:
评论

相关推荐

    oracle分割字符串方法

    这里利用了函数 regexp_substr和connect by 及oracle的正则相关函数实现oracle分割字符串方法

    Oracle_Sql_中常用字符串处理函数

    Oracle Sql 提供了 REPLACE() 函数,用于将字符串中的某个字符替换为另一个字符。 示例:SELECT REPLACE('abcdce', 'bc', 'test') FROM dual; -- 返回 atestdce 6. ASCII 码函数 Oracle Sql 提供了 ASCII() 函数...

    Oracle拆分字符串,字符串分割的函数

    `instr()` 是Oracle中的一个内建函数,它用于查找子串在目标字符串中的位置。例如,`instr(string, substring)` 返回`substring`在`string`中第一次出现的位置。虽然这不是直接的字符串分割函数,但可以配合其他...

    Oracle 分割字符串 返回多行数据

    Oracle 分割字符串 返回多行数据

    plsql分割字符串

    自定义函数`FUNCTION_SF_SPLIT_STRING`如上所示,是一个典型的用于分割字符串的函数,它接受两个参数:待分割的字符串`STRING`和用作分隔符的子字符串`SUBSTRING`,返回一个`VARCHAR2`类型的数组,其中包含了分割后...

    oracle-字符串去重函数

    传入一个字符串和该字符串的分割字符,返回去重后的字符串,可以直接在plsql中运行,简单的函数运用,能处理oracle中。资源仅供参考

    Oracle通过正则表达式分割字符串 REGEXP_SUBSTR的代码详解

    string :需要进行正则处理的字符串 pattern :进行匹配的正则表达式 position :起始位置,从第几个字符开始正则表达式匹配(默认为1) occurrence :标识第几个匹配组,默认为1 modifier :模式(‘i’不区分大...

    Oracle对字符串进行分割

    数据库给定字符串,对相应的字符串进行分割。比如 ',a,b,c,d,e,'则分割出来的结果为a b c d e。

    oracle 自定义函数 解析文件以“|”分割字符串

    oracle 自定义函数 解析文件以“|”分割字符串

    oracle字符串分割自定义函数

    oracle中没有方便分割字符串的的函数,仿照c#中的split方法和网友的方法,并进行了改进,(1)先自定义个类型str_split,(2)分割函数splitstr,返回table;(3)取第n个数组的get_splitstr,用户1,2,3部建好,使用时只需要...

    截取用,分割的字符串中的第n个字符串 SQL

    综上所述,本文介绍了如何在SQL中实现截取用特定字符分割的字符串中的第n个子字符串的方法,并通过实例展示了其实际应用场景。这种方法不仅适用于简单的数据处理任务,还能够在复杂的数据分析项目中发挥重要作用。

    oracle分隔字符串函数

    本文详细介绍了如何在 Oracle 数据库中实现字符串分隔的功能,通过自定义函数 `splitstr` 实现了根据用户定义的分隔符来分割字符串的目标。这种方法不仅灵活,而且易于维护和扩展,非常适合于处理各种复杂的字符串...

    Oracle中实现Split函数功能

    Oracle 中实现 Split 函数功能的优点是可以灵活地处理不同的分隔符和字符串长度。同时,这个函数也可以与其他 Oracle 函数和操作符结合使用,以实现更加复杂的数据处理任务。 在实际应用中,Oracle 中实现 Split ...

    一个oracle根据特定字符截取数据

    1. **SUBSTR()** 函数:此函数用于从字符串中提取指定长度的子串。它的语法是 `SUBSTR(string, start_position, length)`。`string` 是原始字符串,`start_position` 指定子串开始的位置(位置从1开始),`length` ...

    如何实现Oracle中字符串分隔.pdf

    `INSTR`函数用于查找字符串中特定子串的位置,其语法如下: ```sql INSTR(string, substr, [start_position, [occurrence]]) ``` - `string`:源字符串。 - `substr`:要查找的子字符串。 - `start_position`:可选...

    Oracle 两个逗号分割的字符串,获取交集、差集(sql实现过程解析)

    它根据正则表达式`[^,]+`(表示非逗号的任何字符的一个或多个连续序列)来分割字符串,返回符合条件的部分。`REGEXP_REPLACE`函数虽然在此案例中未被直接使用,但它也是一个重要的正则表达式处理函数,可以用于替换...

    oracle split函数

    本文将详细介绍两种在Oracle中实现字符串分割的方法:第一种是通过创建类型和管道函数的方式;第二种则是通过循环和子字符串处理实现的。 #### 二、第一种实现方式:创建类型和管道函数 ##### 1. 创建类型 `TY_STR...

    oracle split 函数

    下面的示例演示了如何使用`split`函数来分割字符串`'abc;cde;dfd;133'`,并将结果作为表返回。 ```sql select * from table(split('abc;cde;dfd;133')); ``` 执行上述语句后,将得到以下结果: - `abc` - `cde` - ...

    plsql中的字符串分割.txt

    标题中的“字符串分割”是指将一个较长的字符串按照特定的规则(如分隔符)拆分为多个子字符串。 ### 描述解释:“用pl/sql写一个函数, 实现根据分割符把原字符串分成若干个字符串功能” 这段描述进一步明确了具体...

    字符串分割成数组函数(plsql function)

    将字符串分割成数组: 例如将字符串“7369,7499,7521,7844"分割成 7369 7499 7521 7844 用法:可以将分割结果做为一个数组或者数据库表列来使用 select * from scott.emp where empno in (select column_value from...

Global site tag (gtag.js) - Google Analytics