SQL语句中将字符串转成临时表的方法
程序员文章站
2023-11-03 10:11:03
sql语句中将字符串转成临时表的方法
方式一:通过xquery(需要sql server 2005以上版本)。
create f...
sql语句中将字符串转成临时表的方法
方式一:通过xquery(需要sql server 2005以上版本)。
create function func_splitid (@str varchar(max),@split varchar(10)) returns @t table (c1 int) as begin declare @x xml set @x = convert(xml,'') insert into @t select x.item.value('@id[1]', 'int') from @x.nodes('//items/item') as x(item) return end 执行:select * from dbo.func_splitid('1,2,3,4,5,6', ',')
结果:
方式二:通过charindex和substring。
create function func_splitstring (@str nvarchar(max),@split varchar(10)) returns @t table (c1 varchar(100)) as begin declare @i int declare @s int set @i=1 set @s=1 while(@i>0) begin set @i=charindex(@split ,@str ,@s) if(@i>0) begin insert @t(c1) values(substring(@str ,@s ,@i-@s)) end else begin insert @t(c1) values(substring(@str ,@s ,len(@str)-@s+1)) end set @s = @i + 1 end return end 执行:select * from dbo.func_splitstring('1,2,3,4,5,6', ',')
结果: