------
if exists(select 1 from sysobjects where id=object_id(N'dbo.f_Insert'))
drop function dbo.f_Insert
go
create function dbo.f_Insert(@s varchar(8000))
returns @table table(ID int identity(1,1),names varchar(8000))
as
begin
set @s=@s+'-'
while len(@s)>1 begin
if left(@s,charindex('-',@s)-1)<>''
insert into @table select left(@s,charindex('-',@s)-1)
select @s=stuff(@s,1,charindex('-',@s),'')
end
return
end
go
----测试运行
select * from dbo.f_Insert('aa-bb-cc--')
---------------------------
--重复几次,全部插入几次
----建立函数
if exists(select 1 from sysobjects where id=object_id(N'dbo.f_Insert'))
drop function dbo.f_Insert2
go
create function dbo.f_Insert2(@s varchar(8000))
returns @table table(ID int identity(1,1),names varchar(8000))
as
begin
declare @i int,@j int
select @i=1,@j=0
while @i<=len(@s) begin
if substring(@s,@i,1)='-'
set @j=@j+1
set @i=@i+1
end
while @j>0 begin
insert into @table select @s
set @j=@j-1
end
return
end
go
----测试运行
select * from dbo.f_Insert2('aa-bb-cc--')