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

pl/sql 编程实现类似于Java中String的split函数功能

 
阅读更多

      pl/sql 编程实现类似于Java中String的split函数功能

      只是类似,功能没有Java中String的split函数功能强大,只是满足简单有应用,即把字符串按指定的分隔符号截取,并返回数组。

下面是代码:

--定义T_CHAR类型
create type ty_str_split as table of varchar2(100);
	  /**
       * 函数名:str_split
       * 参  数:p_str 待截取的字符串(目标字符串:以某种特定的字符分隔的字符串)
       *         p_delim 分隔字符串
       * 返回值:为T_CHAR类型,类似一维数组
       * 功能:实现类似于JS中split函数功能
       */
      function str_split  (p_str in varchar2
                                     ,p_delim in varchar2 default ',') 
        return T_CHAR as
        v_str      varchar2(32767);
        v_fields   pls_integer;
        v_substr   varchar2(32767);
        v_return   T_CHAR;
      begin
        v_str := p_delim||trim(p_delim from p_str)||p_delim;
        v_fields := length(v_str) - length(replace(v_str,p_delim,'')) - 1;

        for i in 1..v_fields loop
          v_substr := substr(v_str
                            ,instr(v_str,p_delim,1,i)+1
                            ,instr(v_str,p_delim,1,i+1) - instr(v_str,p_delim,1,i) -1);
          v_return(i) := v_substr;
        end loop;
        return v_return;
      end;

 

create or replace procedure test1 as
    v_array T_CHAR;
begin
    v_array:=str_split('1a,2b,3c,4d',',');
    for i in 1..v_array.count loop
         dbms_output.put_line('v_array('||i||')='||v_array(i));
    end loop;
end test1;

 

分享到:
评论

相关推荐

    PL/SQL实现JAVA中的split()方法的例子

    在PL/SQL中实现类似于Java `split()`的方法,我们可以参考上述例子。首先,定义一个变量`v_str`存储待分割的字符串,然后创建一个自定义类型的表`str_table_type`来保存分割后的字符串数组。接着,初始化一个空的`...

    plsql分割字符串

    通过对`FUNCTION_SF_SPLIT_STRING`的详细分析,我们可以看到,在PL/SQL中实现字符串分割不仅需要理解基本的字符串操作函数,还需要具备良好的逻辑思维和控制结构设计能力。掌握这种方法不仅可以提高数据库应用程序的...

    plsql中的字符串分割.txt

    本文将详细介绍如何在PL/SQL中实现一个字符串分割的功能,并通过一个具体的示例来展示其实现过程。 ### 标题解释:“plsql中的字符串分割” 这个标题明确指出文章将讨论的主题是“PL/SQL”中的字符串分割技术。PL/...

    PL_SQL文件

    通过这些示例,读者可以了解如何在 Oracle 数据库环境中处理字符串数据,以及如何在不同的数据库平台上实现类似的功能。此外,这些示例还展示了如何使用存储过程和自定义函数来增强数据库的能力,从而提高数据处理...

    异种数据库函数和标准SQL语法比较Oracle与SqlServer.rar

    - Oracle的数学函数如`ROUND`、`TRUNC`和`MOD`,在SQL Server中也有相应的实现,但某些语法可能略有不同。 - SQL Server独有的`CHECKSUM`和`HASHBYTES`函数用于数据校验,Oracle则有`DBMS_CRYPTO`包。 3. **字符...

    mysql split函数用逗号分隔的实现

    虽然MySQL的标准库中没有直接提供`split`函数,但可以通过自定义存储过程和函数来实现类似的功能。这里我们将详细讲解如何在MySQL中实现一个用逗号分隔的`split`函数。 首先,我们创建一个存储过程`splitString`,...

    oracle分隔字符串函数

    为了实现这一功能,我们将采用 Oracle PL/SQL 的自定义类型和函数来完成字符串的分隔。这种方法可以有效地处理大量数据,并且具有良好的性能。 #### 四、代码实现 下面的代码展示了如何创建一个用于分隔字符串的...

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

    如果内置函数无法满足需求,可以创建自定义PL/SQL函数来实现特定的字符串拆分逻辑。 7. **示例应用** 例如,我们有一个以逗号分隔的字符串,如"apple,banana,orange",我们可以使用`instr()` 和 `substr()` 结合...

    利用Split函数进行多关键字检索

    `Split` 是一种在多种编程语言(如VBScript、JavaScript等)中可用的内置函数,用于将字符串分割成一个数组,每个元素是原字符串中由指定分隔符切分出来的部分。 在这个问题中,讨论的是如何使用`Split`函数来处理...

    Oracle解析复杂json的方法实例详解

    如此一来导致即便可以在PL/SQL中调用远程接口,但返回结果仍需传给前台js或java等其它代码进行处理,不太方便。 分析思路:  1、在PL/SQL中写json串,无需声明json对象,只需直接拼接成格式正确的json字符串即可,...

    oracle函数大全

    以上只是Oracle函数大全中的一部分,实际还包括更多的系统函数、自定义函数和PL/SQL过程等。通过深入学习和实践,开发者可以充分利用这些函数来处理复杂的数据查询和计算任务,提升数据库管理效率。在日常工作中,...

    一个字符串分隔多个参数存储过程调试

    这就需要用到字符串处理函数,如SQL Server中的`STRING_SPLIT`,MySQL中的`SUBSTRING_INDEX`或`FIND_IN_SET`,或者Oracle中的`INSTR`和`SUBSTR`等。 在存储过程的调试方面,不同数据库系统提供了不同的工具和方法。...

    php中利用explode函数分割字符串到数组

    除了`explode()`函数,PHP还提供了`split()`函数,尽管在PHP 7中已经被弃用,但理解其功能仍然有助于了解历史。`split()`函数与`explode()`类似,但它允许使用正则表达式作为分隔符。在示例中: ```php $date = "04...

Global site tag (gtag.js) - Google Analytics