declare @con1 varchar(100)
declare @a table(a varchar(10))
declare @i intset @con1='abcdefghijk'
while @i<len(@con1)/3
begin
insert @a select substring(@con1,@i*3+1,3)
set @i=@i+1
end
select * from @a
declare @a table(a varchar(10))
declare @i intset @con1='abcdefghijk'
while @i<len(@con1)/3
begin
insert @a select substring(@con1,@i*3+1,3)
set @i=@i+1
end
select * from @a
declare @strs varchar(1000)
set @strs='abcdefghijk'
declare @i int
set @i=3
while @i<=len(@strs)
begin
insert into @con1
select substring(@strs,1,@i)
select @strs=substring(@strs,4,len(@strs)-3)
end
select * from @con1
Set @con1='abcdefghijk'
Select TOP 100 ID = Identity(Int, 0, 1) Into #T From SysColumns A, SysObjects B
Select
Substring (@con1,ID*3+1,3) As con2
From #T
Where ID <= Len(@con1) / 3
Drop table #T--Result
/*
con2
abc
def
ghi
jk
*/
returns @ta table(name varchar(5))
as
begin
declare @i int
select @i=len(@name)/3
while @i>0
begin
insert @ta values(left(@name,3))
select @name=stuff(@name,1,3,''),@i=@i-1
end
return
endselect * from dbo.test_f('abcdefghijk')name
-----
abc
def
ghi(3 行受影响)