当前位置:首页 > 开发 > 数据库 > 正文

oracle 实现 split 函数

发表于: 2010-01-05   作者:crabdave   来源:转载   浏览次数:
摘要: oracle 实现 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

oracle 实现 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);
        str_split.EXTEND;
        str_split (str_split.COUNT) := str;

        IF i >= len
        THEN
          EXIT;
        END IF;
    ELSE
        str := SUBSTR (p_str, i, j - i);
        i := j + len1;
        str_split.EXTEND;
        str_split (str_split.COUNT) := str;
    END IF;
  END LOOP;

  RETURN str_split;
END fn_split;


SELECT DISTINCT * FROM TABLE(fn_split('a,b,c,a,v,c',','));

 

oracle 实现 split 函数

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
保存在这里,方便自己以后查看 (⊙_⊙) ╮(╯▽╰)╭ -- 创建需要划分的字符串 with T1 as( select
描述 split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串 语
publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub Stringstr=null; Scannersca
转载网址:http://grewaller.blog.163.com/blog/static/654105520078610913562/ public class Jian{
目前 osworkflow的版本是2.8,很久没有更新了,而且这个版本的动态会签无法实现,虽然她提供了 spli
很多时候处理字符串数据,比如从文件中读取或者存入 - 我们可能需要加入分隔符(如CSV文件中的逗号
在java中,经常会对字符串进行分割,使用split方法把字符串按照指定的分割符进行分割,然后返回字符串
CSS工作原理 在理解脑裂(Brain Split)处理过程前,有必要介绍一下Oracle RAC Css(Cluster Synchroni
网页中,当输入用户名和密码后,怎么实现将数据在另一个网页中提取出来呢,下面介绍 一种方法: 首
1:比较大小函数 SIGN sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1 ,例如: 引用 a=10
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号