首页 > 数据库技术 > 详细

mysql下将分隔字符串转换为数组

时间:2016-02-17 18:50:07      阅读:2164      评论:0      收藏:0      [点我收藏+]
CREATE OR REPLACE 
FUNCTION GetSubStr(                   --定义函数(此函数完成字符串拆分功能):
                   str in varchar2, --待分割的字符串
                   splitchar in varchar2 --分割标志
            )
 
 return split_tab
       IS
              restStr varchar2(2000) default GetSubStr.str;--剩余的字符串
              thisStr varchar2(18);--取得的当前字符串
              indexStr int;--临时存放分隔符在字符串中的位置
 
 
              v SPLIT_TAB := SPLIT_TAB(); --返回结果
 
            begin
                --dbms_output.put_line(restStr);
                 while length(restStr) != 0
                   LOOP
                     <<top>>
                     indexStr := instr(restStr,splitchar); --从子串中取分隔符的第一个位置
 
                     if indexStr = 0 and length(restStr) != 0  then--在剩余的串中找不到分隔符
                        begin
                          v.extend;
                          v(v.count) := SPLIT_ARR(Reststr);
                          return v;
                        end;
                     end if;
 
                     if indexStr = 1 then---第一个字符便为分隔符,此时去掉分隔符
                        begin
                             restStr := substr(restStr,2);
                             goto   top;
                        end;
                     end if;
 
                     if length(restStr) = 0 or restStr is null then
                        return v;
                     end if;
 
                     v.extend;
                     thisStr := substr(restStr,1,indexStr - 1); --取得当前的字符串
                     restStr := substr(restStr,indexStr + 1);---取剩余的字符串
 
                     v(v.count) := SPLIT_ARR(thisStr);
                   END LOOP;
                 return v;
            end;
 
本脚本来源与网上。

mysql下将分隔字符串转换为数组

原文:http://www.cnblogs.com/waban/p/5196267.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!