SQLServer2008 split function

--Split string, src source string, s separator, the position to be taken after index splitting
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION f_split
(
	@src varchar(8000),
	@s varchar(32),
	@index int
)
returns varchar(100)
AS
BEGIN
	declare @temp varchar(1000),@start int,@end int,@len int,@count int
	set @index=2
	set @start=1
	set @count=0
	set @ len = len (@src)
	
	while @count<@index
		begin
			if @end>@len
				return ''
			set @end=charindex(@s,@src,@start)
			if @end=0
				begin
					set @end=@len+1--return @temp
				end
			set @temp=substring(@src,@start,@end-@start)
			set @count=@count+1
			set @start=@end+len(@s)
		end
		return @temp
END
GO

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326807215&siteId=291194637