一个关于字符串拆分的问题。急
declare   str   varchar(100) 
 set   str= 'aa,b,cd,de,ed ' 
 我要把str按照逗号分割拆开后再循环所有的值将其加来,应该怎么做? 
 谢谢。不要告诉我去掉逗号就可以了,我主要是拆开后要循环。
------解决方案--------------------create function f_split(@SourceSql varchar(8000),@StrSeprate varchar(10)) 
 returns @temp table(a varchar(100)) 
 /*--实现split功能 的函数 
 --date    :2005-4-20 
 --Author :Domino 
 */ 
 as  
 begin 
     declare @i int 
     set @SourceSql=rtrim(ltrim(@SourceSql)) 
     set @i=charindex(@StrSeprate,@SourceSql) 
     while @i> =1 
     begin 
         insert @temp values(left(@SourceSql,@i-1)) 
         set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i) 
         set @i=charindex(@StrSeprate,@SourceSql) 
     end 
     if @SourceSql <>  '\ ' 
        insert @temp values(@SourceSql) 
     return  
 end     
 select * from dbo.f_split( '山东:济南:山东:济南 ', ': ')   
 select top 1 * from f_split( '山东:济南 ', ': ')
------解决方案--------------------declare @str varchar(100) 
 set @str= 'aa,b,cd,de,ed ' 
 declare @sql varchar(8000) 
 select @sql= 'select  ' ' ' 
 select @sql=@sql+replace(@str,  ', ',  ' ' ' union all select  ' ' ')+ ' ' ' ' 
 exec(@sql)   
 --result 
 ----  
 aa 
 b 
 cd 
 de 
 ed