字符串为'1232131;2313;213231;123123;'
1、第一个函数该函数传入字符串和位置,等到该位置的子串
2、第二个函数该函数传入字符串,得到子串的个数。

解决方案 »

  1.   

    你要是用程序基本就现成的 split就差不多了
    不过你描述的还不是很清楚
      

  2.   

    http://hi.baidu.com/413905282/blog/item/425e1c13250bdd5af819b823.html
      

  3.   

    declare @str varchar(4000)
     set @str='1$a$^2$b$^3$c$^'  --------注意字符串格式 用$ 和 ^ 符号区分
     declare @i  int,@j int,@strnew varchar(1024)  ,@num1 int,@num2 int  ,@zz int
     declare @id int,@name varchar(32)
     set @i=1
     set @num1=1
     set @j=len(@str)
     set @zz=1
     while @i<@j
     begin
      set @num1=charindex('^',@str,@i)
      set @strnew=substring(@str,@i,@num1-@i)
      set @num2=charindex('$',@strnew,@zz)
      set @id=substring(@strnew,@zz,@num2-@zz)     
      set @zz=@num2+1
      set @num2=charindex('$',@strnew,@zz)          
      set @name=substring(@strnew,@zz,@num2-@zz)  
      set @zz=@num2+1
      select @id,@name
      /*
       可以向表中执行添加修改操作
      */
      set @i=@num1+1
      set @zz=1
     end