建站资讯

sql将分号隔开的标识符串变为表Table

作者:admin 发布时间:2020-11-18
sql将分号隔开的标识符串变为表Table 创作者:Aisencici / / 归类:SQL Server数据信息库设计方案 / 访问:1157

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 )




收缩