Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ALTER FUNCTION fnSYS_Split_Comma_Separated_List_Of_Strings_To_String_Table
- (
- @strData varchar(8000)
- )
- RETURNS @output TABLE (strData varchar(8000))
- AS
- BEGIN
- declare @intPosition int
- declare @intStart int
- declare @intEnd int
- declare @strPart varchar(8000)
- set @strData = replace(@strData,' ,',',')
- set @strData = replace(@strData,', ',',')
- set @strData = @strData + ','
- if (charindex(',', @strData) = 1) --if only one value append a , so that it still gets parsed
- set @strData = @strData + ','
- set @intPosition = charindex(',', @strData)
- insert into @output values (ltrim(rtrim(substring(@strData, 0, @intPosition))))
- if charindex(',',@strData) > 0
- begin
- while ((charindex(',', @strData, @intPosition)) <> 0)
- begin
- set @intStart = charindex(',', @strData, @intPosition)
- set @intEnd = charindex(',', @strData, @intStart+1)
- if (@intEnd = 0)
- set @intEnd = len(@strData) - @intStart
- set @strPart = ltrim(rtrim(substring(@strData, @intStart+1, abs(@intEnd - @intStart-1))))
- IF @strPart <> ''
- insert into @output values (@strPart)
- set @intPosition = charindex(',', @strData, @intPosition) + 1
- end
- end
- return
- END
Advertisement
Add Comment
Please, Sign In to add comment