您的位置:首页 > 数据库

sql将逗号分隔的字符串转为表Table

2013-04-05 16:43 309 查看
Create Function [dbo].[Func_SplitStrToTable](@str varchar(8000))

Returns @tableName Table

(

str2table varchar(100)

)

As

--该函数用于把一个用逗号分隔的多个数据字符串变成一个表的一列,例如字符串'1,2,3,4,5' 将转换成一个表

Begin

set @str = @str+','

Declare @insertStr varchar(100) --截取后的第一个字符串

Declare @newstr varchar(8000) --截取第一个字符串后剩余的字符串

set @insertStr = left(@str,charindex(',',@str)-1)

set @newstr = stuff(@str,1,charindex(',',@str),'')

Insert @tableName Values(@insertStr)

while(len(@newstr)>0)

begin

set @insertStr = left(@newstr,charindex(',',@newstr)-1)

Insert @tableName Values(@insertStr)

set @newstr = stuff(@newstr,1,charindex(',',@newstr),'')

end

Return

End


调用方法:

select Func_SplitStrToTable('1,2,3,4,5')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: