`
PlayIT1024
  • 浏览: 21125 次
  • 性别: Icon_minigender_2
  • 来自: 泉州
社区版块
存档分类
最新评论

oracle 实现类似java split函数功能,并去掉空行

阅读更多

代码是网上找的,在此基础上修改以实现去掉空行

功能描述:用指定分隔符切割输入的字符串,返回一维数组,每个数组元素为一个子串。

源代码:

CREATE OR REPLACE TYPE ty_str_split IS TABLE OF VARCHAR2 (4000);

CREATE OR REPLACE FUNCTION fn_split (p_str IN VARCHAR2, p_delimiter IN VARCHAR2)
    RETURN ty_str_split
IS
    j INT := 0;
    i INT := 1;
    len INT := 0;
    len1 INT := 0;
    str VARCHAR2 (4000);
    str_split ty_str_split := ty_str_split ();            ------定义一个数组
BEGIN
    len := LENGTH (p_str);
    len1 := LENGTH (p_delimiter);

    WHILE j < len
    LOOP
        j := INSTR (p_str, p_delimiter, i);

        IF j = 0
        THEN
            j := len;
             str := SUBSTR (p_str, i);             
             IF length(trim(str))<>1 THEN           -----去掉空行,长度为1则为空行
                str_split.EXTEND;
                str_split (str_split.COUNT) := str;
             END IF;
             
            IF i >= len
            THEN
                EXIT;
            END IF;
        ELSE
            str := SUBSTR (p_str, i, j - i);
            i := j + len1;            
            IF length(trim(str))<>1 THEN            -----去掉空行,长度为1则为空行
               str_split.EXTEND;
                str_split (str_split.COUNT) := str;
             END IF;
        END IF;
    END LOOP;

    RETURN str_split;
END fn_split;

 

分享到:
评论
2 楼 noselary 2011-07-20  
IF length(trim(str))<>1 THEN           

应该是0
1 楼 noselary 2011-07-20  
select a.column_value tips from table(select fn_split('30/0/-10','/') from dual) a;

你的空行指什么呢?这样好像不行哦

相关推荐

    Oracle中实现Split函数功能

    Oracle 中实现 Split 函数功能是指在 Oracle 数据库中实现类似于 C# 等编程语言中的 Split 函数,用于拆分字符的功能。下面是实现 Oracle 中 Split 函数功能的详细介绍。 首先,需要创建一个新的类型来存储拆分后...

    oracle_split_函数_返回数组

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

    oracle split函数

    在Oracle数据库中,并没有内置的split函数来处理字符串的分割操作。然而,在实际应用中,经常需要将一个包含多个值的字符串按照指定的分隔符进行拆分,转换为表格式的数据,以便进行进一步的处理或查询。为此,可以...

    ORACLE CRC32函数

    在Oracle中,`CRC32`函数利用了Java语言提供的`CRC32`类来实现该功能。 #### 三、实现步骤 1. **创建Java类**:首先,我们需要在Oracle数据库中创建一个Java源代码,定义名为`crc32_class`的类。这个类包含了两个...

    java调用oracle存储过程或者函数

    在Java编程中,调用Oracle数据库的存储过程和函数是常见的任务,这通常涉及到JDBC(Java Database Connectivity)API的使用。以下将详细介绍这个过程,包括必要的步骤、使用的类和方法,以及可能遇到的问题和解决...

    oracle split 函数

    ### Oracle Split函数实现与应用 #### 一、Oracle Split函数简介 在Oracle数据库中,处理字符串是一项常见的需求,尤其是在需要将包含特定分隔符的字符串分割成多个独立的部分时。Oracle标准SQL并没有提供直接用于...

    Java调用Oracle的过程和函数

    本文将详细介绍如何通过Java来调用Oracle数据库中的函数,并特别关注带有不同类型的输入(in)、输出(out)及输入输出(in/out)参数的函数。 #### 1. Oracle函数概述 在Oracle数据库中,函数是一种特殊的存储...

    java通过Mysql实现类似oracle序列功能序列.rar

    在Java应用程序中,如果需要在MySQL环境中实现类似Oracle序列的功能,我们需要自己设计解决方案。以下是一些关键知识点的详细说明: 1. **Java连接MySQL**: - 首先,你需要使用JDBC(Java Database Connectivity...

    用Pipelined Table实现split函数的示例

    本文档将详细介绍如何使用Pipelined Table Function来实现一个split函数,该函数可以将输入字符串根据给定的分隔符进行分割,并返回一个包含分割后结果的表。 #### Pipelined Table Function 基础 Pipelined Table...

    Java调用oracle函数返回oracle类(类似)集合

    在Java中调用Oracle函数并处理返回的Oracle特定数据类型,如集合或索引表,通常涉及到Oracle的PL/SQL包和Java的JDBC驱动。以下是对这个主题的详细说明: 1. **Oracle索引表类型**: Oracle索引表是一种PL/SQL数据...

    sqlserver实现Oracle中Lpad和Rpad函数

    sqlserver实现Oracle中Lpad和Rpad函数

    Oracle 自定义split 函数实例详解

    Oracle没有提供split函数,但可以自己建立一个函数实现此功能。比如“abc defg hijkl nmopqr stuvw xyz”,分隔符是空格,但空格个数不定。 源代码: CREATE OR REPLACE TYPE ty_str_split IS TABLE OF VARCHAR...

    Oracle中实现datadiff函数

    然而,在Oracle中我们可以通过自定义函数的方式实现类似的功能,即计算两个日期之间的时间差。 #### 实现方法 为了在Oracle中模拟`DATEDIFF`功能,我们可以创建一个用户定义的函数。下面将详细介绍如何创建和使用...

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

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

    在oracle中使用java sources

    在Oracle数据库环境中,Java Sources是一种强大的特性,它允许我们在数据库内部执行Java代码,利用Java的丰富库和API来处理复杂的业务逻辑或者实现特定的功能。Oracle数据库支持存储过程、函数、包等PL/SQL对象,而...

    ORACLE 10G java 驱动包

    Oracle 10G Java驱动包是Oracle数据库与Java应用程序交互的重要组成部分,主要包含两个关键的JAR文件:`classes12.jar` 和 `ojdbc14.jar`。这两个文件为Java开发者提供了连接Oracle 10G数据库的必要工具,使得在Java...

    informix数据库实现oracle环境instr函数功能

    ### Informix数据库实现Oracle环境INSTR函数功能 在数据库领域,不同类型的数据库系统可能支持不同的SQL函数特性。例如,Oracle数据库中的`INSTR`函数用于查找一个字符串在另一个字符串中的位置,而Informix数据库...

    oracle调用java包

    在Oracle数据库系统中,有时我们需要将Java代码集成到PL/SQL程序中,以便利用Java的强大功能,例如处理复杂的算法、大数据操作或者与外部系统交互。本文将详细介绍如何在Oracle中调用Java包,并探讨相关知识点。 一...

    ORACLE函数介绍 全系列中文

    oracle函数介绍 1 著名函数之单值函数 pdf oracle函数介绍 2 非著名函数之单值函数 pdf oracle函数介绍 3 著名函数之聚合函数 pdf oracle函数介绍 4 非著名函数之聚合函数 pdf oracle函数介绍 5 分析函数简述 ...

    ORACLE常用函数功能及演示

    ORACLE内置函数,相当于C语言中的库函数,提供了常规数据库编程中所需的绝大多数基本功能,并且通过函数的组合或嵌套使用,可以发挥其强大的功能。由于这些内置函数都是由ORACLE公司的编程大家所写,而且其执行代码...

Global site tag (gtag.js) - Google Analytics