首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

承认你是高手就进来(关于字符串分割换行),该如何处理

2012-03-29 
承认你是高手就进来(关于字符串分割换行)现在有一段字符串,如 R10,R11,R12,R103,R105,R136,R137,R158,R16

承认你是高手就进来(关于字符串分割换行)
现在有一段字符串,

如 "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

热点排行