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

oracle字符串分隔

阅读更多

一、场景,如:86134;86139;86158;

 

分隔成:

             86134

 

             86139

             86158

 

 

 

解决方案:

 

 


  1.     CREATE OR REPLACE TYPE split_type IS TABLE OF VARCHAR2 (4000);  
     

 

     2、

 CREATE OR REPLACE FUNCTION split (
	    p_str       IN VARCHAR2,
	    p_delimiter IN VARCHAR2 default(',') --分隔符,默认逗号
	)
	    RETURN split_type
	IS
	    j INT := 0;
	    i INT := 1;
	    len INT := 0;
	    len1 INT := 0;
	    str VARCHAR2 (4000);
	    my_split split_type := split_type ();
	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);
	             my_split.EXTEND;
	             my_split (my_split.COUNT) := str;
	 
	            IF i >= len
	            THEN
	                EXIT;
	            END IF;
	        ELSE
	            str := SUBSTR (p_str, i, j - i);
	            i := j + len1;
	            my_split.EXTEND;
	            my_split (my_split.COUNT) := str;
	        END IF;
	    END LOOP;
	 
	    RETURN my_split;
	END split;
	/
 

3、测试

 

  select * from table (split('86134;86139;86158;',';'));
 
4、结果

86134
86139
86158
 


分享到:
评论

相关推荐

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

    例如,我们有一个以逗号分隔的字符串,如"apple,banana,orange",我们可以使用`instr()` 和 `substr()` 结合来逐个获取每个水果名称: ```sql SELECT substr(str, 1, instr(str, ',', 1) - 1) fruit1, substr...

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

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

    ORACLE字符串函数

    ORACLE 字符串函数 ORACLE 字符串函数是一组用于操作和处理字符串的函数,包括连接、截取、转换、查找、替换、去除空白等操作。 1. 字符串连接函数:`string || string` 该函数用于连接两个字符串,结果是一个新...

    oracle通过sql实现字符串转数字oracle函数

    格式掩码允许我们指定字符串中数字的格式,例如千位分隔符、小数点等。如果不提供格式掩码,Oracle会尝试根据默认的数字模式来解析字符串。 例如,如果你有一个名为`str_column`的列,其中包含像"12345"这样的字符...

    oracle中操作字符串

    在Oracle数据库中,对字符串进行处理是一项常见的需求,特别是在处理带有特定分隔符(如逗号`,`、冒号`:`等)的字符串时。本文将详细介绍如何利用Oracle内置函数来实现从含有逗号和冒号的字符串中提取特定部分的功能...

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

    本文将详细介绍如何在Oracle中实现字符串分隔,以及提供一个实用的面向对象的解决方案。 在Oracle中,字符串分隔通常涉及到将一个长字符串按照特定的分隔符切割成多个子字符串。Oracle提供了多种函数来实现这一功能...

    oracle分隔字符串函数

    本文将详细介绍如何在 Oracle 中实现字符串分隔功能,并通过创建一个自定义的函数来实现这一目标。 #### 二、需求背景 假设我们有一个包含逗号分隔的字符串列表,需要将其拆分为单独的字符串值以便进一步处理。...

    oracle 关于字符串中带有逗号间隔的查询.doc

    在Oracle数据库中,进行字符串查询时,特别是当字符串中包含逗号等特殊字符时,我们需要巧妙地使用SQL的LIKE操作符来实现精确匹配。这里,我们面对的问题是想要查询DWDH字段中含有"飞信"但不包含"移动飞信"或"飞信...

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

    在Oracle数据库中,有时我们需要将多个字段值转换为单个字符串,或者将多行记录合并成一行,这在数据处理和报告生成时尤其常见。Oracle提供了多种方法来实现这一目标,包括使用内置函数、PL/SQL过程以及一些高级特性...

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

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

    Oracle10g自定义聚合函数(字符串拼接)

    * 自定义聚合函数 wmsys.wm_concat 替换办法 * 超大字符串拼接,单个字符串4000、分隔符100... * Oracle11g Release2版本引入了LISTAGG 函数,使得聚集连接字符串变得很容易。并且允许使用我们指定连接串中的字段顺序

    oracle中字符串截取

    ### Oracle中字符串截取知识点详解 #### 一、概述 在Oracle数据库中,对字符串进行截取是一项常用且重要的操作。本文将详细介绍Oracle中的字符串截取功能及其应用场景,包括常用的`INSTR`和`SUBSTR`函数,并通过...

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

    标题中的“一个字符串分隔多个参数存储过程调试”指的是在数据库管理中,如何处理一个包含多个用特定字符分隔的参数字符串,并在存储过程中进行有效的调试。这通常涉及到字符串操作函数和存储过程的编写技巧。 在...

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

    - **处理边界情况**:如果找不到更多的分隔符,则默认将`@location`设置为字符串的长度加1,以便正确截取出最后一个子字符串。 - **返回子字符串**:利用`SUBSTRING`函数根据`@start`和`@location`的值截取第n个子...

    oracle字符串分割自定义函数

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

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

    在Oracle数据库中,将逗号分隔的字符串转换为多行是常见的数据处理需求,尤其在需要对每个分隔项进行单独操作时。这个过程通常涉及到字符串处理函数,如`REGEXP_SUBSTR`和`REPLACE`,以及层次查询结构`CONNECT BY`。...

    plsql中的字符串分割.txt

    这段描述进一步明确了具体的目标:使用PL/SQL编写一个函数,该函数能够接受一个原始字符串和一个分隔符作为输入参数,然后按照指定的分隔符将原始字符串分割成多个子字符串。这通常涉及到对字符串进行扫描、定位分隔...

    oracle_split_函数_返回数组

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

    plsql分割字符串

    PL/SQL(Procedural Language for Oracle)作为Oracle数据库的一种强大工具,提供了丰富的功能来处理字符串,包括分割、连接、替换等操作。本文将深入探讨如何在PL/SQL中实现字符串的分割,并通过具体代码示例进行...

    Oracle中字符串截取常用方法总结【推荐】

    在Oracle数据库中,字符串操作是常见的任务之一,特别是在数据处理和查询时。本文将详细介绍两种在Oracle中常用的字符串截取方法:`substr`函数和`instr`函数。 首先,我们来看`substr`函数。`substr`函数用于从...

Global site tag (gtag.js) - Google Analytics