在数据库中,经常用到了将一定格式的字符串解析的问题。以前写过类似的方法,今天又重新写了一个,发上来共享给大家。
Create function [dbo].[Func_SplitStringTotable] ( -- 需要解析的字符串 @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,len(@str)-@s+1)) end set @s = @i + 1 end return end
Create function [dbo].[Func_SplitStringTotable] ( -- 需要解析的字符串 @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,@s) if(@i>0) begin insert @t(c1) values(substring(@str,@i-@s)) end else begin insert @t(c1) values(substring(@str,len(@str)-@s+1)) end set @s = @i + 1 end return end
使用的时候如下:
select * from dbo.Func_SplitStringTotable('1,15,13',',');总结
以上是内存溢出为你收集整理的SqlServer中解析字符串的表值函数全部内容,希望文章能够帮你解决SqlServer中解析字符串的表值函数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)