22,301
社区成员




declare @partnr varchar(100), @start int, @len int
select @start=1
select @partnr='abcdefghieeefffgggeeeefedefyy'
select @partnr=stuff(@partnr,@start,0,',')
select @len=len(@partnr)
while @len>0
--and @start <len(@partnr)
begin
select @len=@len-3
select @start=@start+4
if (@len>1)
begin
select @partnr=stuff(@partnr,@start,0,',')
end
end
print @partnr
declare @partnr varchar(100),
@start int,
@len int
select @start=1
select @partnr='abcdefghieeefffgggeeeefedef'
select @partnr=stuff(@partnr,@start,0,',')
select @len=len(@partnr)
select @start=@len/3+1
while @start>2
begin
select @start=@start-1
select @partnr=stuff(@partnr,@start*3-1,0,',')
end
print @partnr
---
,abc,def,ghi,eee,fff,ggg,eee,efe,def
declare @partnr varchar(100)
declare @result varchar(100)
set @result = ''
set @partnr='abcdefghieeefffgggeeeefedef1'
while len(@partnr) >= 3
begin
set @result = @result + ',' + left(@partnr , 3)
set @partnr = right(@partnr , len(@partnr) - 3)
end
set @result = @result + ',' + @partnr
print @result
/*
,abc,def,ghi,eee,fff,ggg,eee,efe,def,1
*/
declare @partnr varchar(100),
@start int,
@len int
select @start=1
select @partnr='abcdefghieeefffgggeeeefedef'
select @len=len(@partnr)
while @len>0
begin
select @partnr=stuff(@partnr,@start,0,',')
select @len=@len-3
select @start=@start+4
end
print @partnr
/*
,abc,def,ghi,eee,fff,ggg,eee,efe,def
*/
declare @partnr varchar(100)
declare @result varchar(100)
set @result = ''
set @partnr='abcdefghieeefffgggeeeefedef'
while len(@partnr) > 0
begin
set @result = @result + ',' + left(@partnr , 3)
set @partnr = right(@partnr , len(@partnr) - 3)
end
print @result
/*
,abc,def,ghi,eee,fff,ggg,eee,efe,def
*/