`
huibin
  • 浏览: 756970 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

oracle 拆分字符串函数 返回结果集

阅读更多

create or replace function split_str(var_str   in varchar2,
                                       var_split in varchar2)
/****************************************************
  注意 先执行下面语句 创建类型
  create or replace type t_ret_table is table of varchar2(100)

  ** 函数名称:split_str

  ** 参    数:【名称】         【类型 】      【说明】
  **           var_str          varchar2       要拆分的字符串
  **           var_split        varchar2       字符串分隔符
  ** 返 回 值:Result           t_ret_table    拆分后数组集合
  ** 摘    要:拆分字符串

  调用 举例:
  select * from table(split_str('2008-10-21','-'))
  ****************************************************/


  return t_ret_table is

  var_out     t_ret_table;
  var_tmp     varchar2(4000);
  var_element varchar2(4000);

begin
  var_tmp := var_str;
  var_out := t_ret_table();
  --如果存在匹配的分割符
  while instr(var_tmp, var_split) > 0 loop
    var_element := substr(var_tmp, 1, instr(var_tmp, var_split) - 1);
    var_tmp     := substr(var_tmp,
                          instr(var_tmp, var_split) + length(var_split),
                          length(var_tmp));
    --var_out.extend(1);
    var_out.extend;

    --重新设置var_element值
    var_element:=substr(var_element,instr(var_element,'>',1)+1);
    var_out(var_out.count) := var_element;

    --打印
    --SET SERVEROUT ON;
    DBMS_OUTPUT.PUT_LINE(var_element);
    --打印


  end loop;

  --var_out.extend(1);
  var_out.extend;
  var_out(var_out.count) := var_tmp;

  return var_out;
end split_str;

分享到:
评论

相关推荐

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

    本篇文章将深入探讨Oracle中用于拆分字符串的函数,并通过具体的示例展示它们的用法。 1. **instr() 函数** `instr()` 是Oracle中的一个内建函数,它用于查找子串在目标字符串中的位置。例如,`instr(string, ...

    oracle-字符串去重函数

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

    oracle分隔字符串函数

    ### Oracle 分隔字符串函数知识点详解 #### 一、Oracle 分隔字符串函数介绍 在 Oracle 数据库中处理字符串是一项常见的需求,特别是在数据清洗、格式转换等场景下。Oracle 提供了一系列强大的字符串处理函数来帮助...

    oracle_split_函数_返回数组

    在Oracle数据库中,由于内置函数不直接支持像Java中的`split`那样拆分字符串并返回数组,因此开发者需要自定义函数来实现这一功能。这里提到的两种方法都是为了解决这个问题,即根据指定的分隔符将字符串拆分为一个...

    Oracle中实现Split函数功能

    函数内部使用了一个循环来拆分字符串,每次循环都会将拆分后的结果返回给调用者。 最后,我们可以使用这个函数来拆分字符串。例如,我们可以使用以下 SQL 语句来拆分一个字符串: ``` SELECT * FROM TABLE(f_split...

    Oracle字段转字符串/多行记录合并/连接/聚合字符串的几种方法

    它接受两个或更多个字符串作为参数,并返回它们的连接结果。例如: ```sql SELECT concat(column1, ', ', column2) AS combined_string FROM table_name; ``` 这将把`column1`和`column2`的值用逗号和空格分隔...

    oracle split函数

    该函数返回 `TY_STR_SPLIT` 类型的结果集,即一个可以包含多个字符串的集合。 ```sql CREATE OR REPLACE FUNCTION fn_split(p_str IN VARCHAR2, p_delimiter IN VARCHAR2) RETURN ty_str_split PIPELINED IS j INT...

    plsql分割字符串

    3. **返回结果**:最后,函数返回分割后存储在`RET`中的所有子字符串组成的数组。 ### 实际应用与注意事项 在实际应用中,`FUNCTION_SF_SPLIT_STRING`可以非常灵活地用于各种需要对字符串进行分割的场景,例如解析...

    oracle 获取拼音码函数

    函数可能接受一个汉字字符串作为输入,返回对应的拼音字符串。实现原理可能是先将汉字字符串拆分成单个字符,然后对每个字符调用Java方法获取拼音,最后将所有拼音拼接成一个字符串。 以下是一个简化的示例,展示了...

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

    - **返回子字符串**:利用`SUBSTRING`函数根据`@start`和`@location`的值截取第n个子字符串,并将其作为结果返回。 #### 4. **示例调用** - **SQL查询语句**:`SELECT dbo.GetSplitOfIndex('111,b2222,323232,32d...

    ORACLE函数大全.zip

    4. **字符串函数**: - `SUBSTR`:从字符串中提取子串。 - `LENGTH`:返回字符串的长度。 - `UPPER`和`LOWER`:分别将字符串转换为大写和小写。 5. **聚合函数**: - `COUNT`:计算行的数量。 - `SUM`:计算...

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

    这篇博客“一个oracle根据特定字符截取数据”分享了一个实用的方法,适用于那些需要从字符串字段中提取部分信息的情况。通过SQL查询,我们可以高效地完成这项任务。 在Oracle SQL中,有多个内置函数可以帮助我们...

    灵活截取字符串

    对于截取字符串,Oracle中有两个函数substr(),instr()截取规则的字符串使用起来较为方便,...--str2 拆分字符串 --index 字符串个数索引 --查询语句:select num_char('ws++rq++sl++dl','++',4) from dual --返回结果:dl

    oracle将以逗号分隔字符串转多行

    Oracle的`REGEXP_SUBSTR`函数用于从字符串中提取符合正则表达式模式的部分。在这个例子中,`[^,]+`是一个正则表达式,表示匹配任何非逗号字符的一个或多个实例。参数`1, LEVEL`是指从字符串的第1个字符开始,按层级...

    java汉字转五笔码,oracle函数转五笔码

    2. 编写转换方法:定义一个函数,接收一个汉字字符串作为参数,然后返回对应的五笔码字符串。这个函数内部可能涉及到查找字典、拆分汉字和组装五笔码的过程。 3. 测试:编写测试用例,确保转换功能的正确性。例如,...

    oracle数据库自定义split函数和调用具体实现

    总的来说,通过自定义的`job_split`函数,我们不仅能够根据指定的分隔符拆分字符串,还可以根据工号查询关联表获取对应的员工姓名,如果工号不存在于关联表中,则返回原始的工号,实现了题目所要求的功能。这个函数...

    SQL 语句 将一个表中用特殊字符分割的字段转换成多行数据.docx

    函数返回一个临时表 `@temp`,其中包含分割后的结果。 ```sql CREATE FUNCTION [dbo].[StringSplit] ( @ttstring NVARCHAR(MAX), @separator CHAR ) RETURNS @temp TABLE ( Item NVARCHAR(50) ) AS ...

    添加split和splitstr函数-oracle培训.docx

    这个函数由Sean Zhang编写,它的主要功能是根据指定的分隔符将输入字符串分割,并返回一个表类型的结果集,这样我们就可以像处理表中的记录一样处理这些分割出来的字符串元素。函数的参数包括: 1. `str`:待分割的...

    oracle 字符串转成行

    `SUBSTR` 是Oracle中的一个字符串函数,用于提取字符串的一部分。在给定的例子中,它用于截取逗号分隔的字符串中每个单独的元素。例如: ```sql SUBSTR (T.RPT_ID, INSTR (T.RPT_ID,',',1,C.LV)+ 1, INSTR (T.RPT...

    plsql中的字符串分割.txt

    通过`INSTR`和`SUBSTR`函数组合,函数能够有效地将原始字符串分割成多个子字符串,并将这些子字符串存储在返回的游标中。 通过以上详细的解释和示例代码,我们已经全面了解了如何在PL/SQL中实现字符串分割的功能。...

Global site tag (gtag.js) - Google Analytics