类似于split的作用 将字符串, 分隔开成字符数组

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

 procedure comma_to_arr(list   in varchar2,arr    out col_head_arr,lenarr out integer) is
    type col_head_arr is table of varchar2(50) index by binary_integer;
    l_arr       col_head_arr;--字符数组
    i           integer;--
    str_start   integer;
    arr_counter integer;
  begin
    -- first check if it is null
    --如果为空 就直接返回空的数组 ,标记长度为0
    if length(list) = 0 then
      arr    := l_arr;
      lenarr := 0;
      return;
    end if;
  
    i           := 1;
    str_start   := 1;
    arr_counter := 0;
    --循环条件 字符扫描位置小于字符长度+1
    while i <= length(list) + 1 loop
      --如果字符长度大于 字符长度 或者是 字符串的第i位是i
      if i > length(list) or substr(list,i,1) = ',' then
        --要数组长度递增
        arr_counter := arr_counter + 1;
        --将 浮标位置开始 以及到,之间的 字符保存
        l_arr(arr_counter) := substr(list,str_start,i - str_start);
        --将浮标 设定为,后的下一个字符 
        str_start := i + 1;
      end if;
      --移动 字符扫描位置
      i := i + 1;
    end loop;
    arr    := l_arr;
    lenarr := arr_counter;
  end;

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

相关文章

优化MySQL数据库发布系统存储的方法有:1.mysql库主从读写分...
使用mysql的方法:在“我的电脑”→右键→“管理”→“服务”...
在mysql中查看root用户权限的方法:1.命令行启动mysql服务;...
MySQL主从复制是用来备份一个与主数据库一样环境的从数据库,...
运行mysql的方法1.启动mysql服务,在“我的电脑”→右键→“...
开启mysql的方法1.可以通过快捷键win+r,输入cmd,打开窗口,...