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

来源:互联网 发布:java 判断object 类型 编辑:程序博客网 时间:2024/05/16 05:40

Create Function [dbo].[Func_SplitStrToTable](@str varchar(8000))Returns @tableName Table(   str2table varchar(100))As--该函数用于把一个用逗号分隔的多个数据字符串变成一个表的一列,例如字符串'1,2,3,4,5' 将转换成一个表Beginset @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),'')endReturnEnd

调用方法:

select  Func_SplitStrToTable('1,2,3,4,5')

原创粉丝点击