承认你是高手就进来(关于字符串分割换行)
现在有一段字符串,   
 如 "R10,R11,R12,R103,R105,R136,R137,R158,R169,R20,R21,R22,R23,R24 "(格式都是以逗号分开的),一个R代表一个点位.   
 我的要求是20个字符一行,大于20个字符则换行,如果第20个字符刚好在换行时被分割了,则将这整个点换行, 
 我希望得到以下结果: 
 R10,R11,R12,R103, 
 R105,R136,R137,R158, 
 R169,R20,R21,R22, 
 R23,R24 
 而不是得到 
 R10,R11,R12,R103,R10 
 5,R136,R137,R158,R16 
 9,R20,R21,R22,R23,R2 
 4   
 请高手指点.......
------解决方案--------------------declare @s varchar(80) 
 set @s= 'R10,R11,R12,R103,R105,R136,R137,R158,R169,R20,R21,R22,R23,R24 '   
 declare @i int 
 while len(@s)> 20 
 begin 
    set @i=20-charindex( ', ',REVERSE(left(@s,20)))+1 
    print left(@s,@i) 
    set @s=stuff(@s,1,@i, ' ') 
 end 
 print @s     
 --结果 
 R10,R11,R12,R103, 
 R105,R136,R137,R158, 
 R169,R20,R21,R22, 
 R23,R24