就正常的split 分割 。

解决方案 »

  1.   

    我是要在存储过程中写,好像mysql没有split函数吧,好像要自己建函数
      

  2.   

    我是要在存储过程中写,好像mysql没有split函数吧,好像要自己建函数 
      

  3.   

    使用SUBSTRING_INDEX 及CONCAT试试吧
      

  4.   

    刚好有
    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;