微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SqlServer中解析字符串的表值函数

数据库中,经常用到了将一定格式的字符串解析的问题。以前写过类似的方法,今天又重新写了一个,发上来共享给大家。

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



使用的时候如下:

select * from dbo.Func_SplitStringToTable('1,15,13',',');

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐