您的位置:首页 > 其它

把用","分隔的字符串转化成Table的一列

2007-09-25 12:31 381 查看
create function dbo.ufn_ConvertToIntList
(
@data varchar(7990)
)
returns @table Table(c int not null)
as
begin
declare @str varchar(8000),@iter varchar(50)
,@beginPos int, @endPos int
select @str= @data + ',', @beginPos = 1, @endPos = charindex(',', @str, @beginPos)
while(@endPos > 0)
begin
set @iter = SubString(@str,@beginPos ,@endPos - @beginPos )
if(@iter <> '')
begin
insert into @table(c) values(Convert(int,@iter))
end
select @beginPos = @endPos + 1, @endPos = charindex(',', @str, @beginPos)
end
return
end
go

declare @data varchar(8000)
,@i int
select @i = 1, @data ='1,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9,2,3,4,5,6,7,8,9'
while(@i < 20)
begin
select * from dbo.ufn_ConvertToIntList(@data)
set @i= @i +1
end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐