zoukankan      html  css  js  c++  java
  • 利用函数实现split功能

    CREATE or replace TYPE result_split IS TABLE OF VARCHAR (4000); --定义一个数组 数组名称是result_split
    create or replace function split_str_function(input_str in varchar,split_str in varchar)--传入需要分离的字符串与分隔符
    return result_split --返回值的类型就是result_split数组
    is

    len number:=length(split_str);
    loca number:=0;--定义一个number位置控制变量 找到当前对应的第一个满足切割字符的位置
    str_split result_split:=result_split();  --定义个str_split 变量时result_split数组类型 后面的=result_split();  相当于new了一下
    var_str varchar(4000):=input_str;--定义一个临时字符串
    begin
      loop                    --循环
      loca:=instr(var_str,split_str,1,1); --instr就是从第1个位置开始找var_str中的split_str变量的第一个满足的位置
      if(loca>0) then     --如果找到了loca就大于0
          str_split.EXTEND;  --数组拓展 拓展了才能往里面塞值
          str_split(str_split.COUNT):=substr(var_str,1,loca+len-1);   
          var_str:=substr(var_str,(loca+len));
      else
          str_split.EXTEND;
          str_split(str_split.COUNT):=var_str;
          exit;
      end if;
      end loop;
      return str_split;
    end;

    --测试函数是否正确
    declare inputstr varchar(40):='lianminshitiancai';
    splitstr varchar(40):='an';
    resultstr result_split;
    i number:=1;
    begin
          resultstr:=split_str_function(inputstr,splitstr);
          loop
              dbms_output.put_line(resultstr(i));
              i:=i+1;
              exit when i=resultstr.COUNT+1;
            
          end loop;
    end;

  • 相关阅读:
    考在职还是全日制?
    ARP欺骗病毒攻击
    AutoCAD2006安装错误之解决
    WINCE下创建多个文件分区
    在WINCE5.0中应用CMD(比如运行PING命令)
    WinCE 应用程序开机自动方法
    Wince 添加中文字库
    WinCE内核裁减(中文字体)及字库和内核的分离(转)
    WINCE基于CH7024实现TV OUT (VGA)功能
    WINCE6.0 中文支持
  • 原文地址:https://www.cnblogs.com/liaomin416100569/p/9332054.html
Copyright © 2011-2022 走看看