Skip to content

Instantly share code, notes, and snippets.

@kzelda
Last active August 24, 2017 10:07
Show Gist options
  • Save kzelda/b48dba60998bd6e994c2b5787c370f75 to your computer and use it in GitHub Desktop.
Save kzelda/b48dba60998bd6e994c2b5787c370f75 to your computer and use it in GitHub Desktop.
TSQL Function to Split a string And return an array Of splitted elements
/*
select * from F_SPLIT ('D2177CF0-36E0-45DB-8C4F-D47448EF7EB0,33ECA429-6AB9-4BBA-947E-5DF747E5F559' , ',' )
*/
CREATE FUNCTION F_SPLIT ( @tcList VARCHAR(8000) , @tcDelimiter char(1) = ',')
RETURNS @ParsedList TABLE ( idd INT IDENTITY , element VARCHAR(MAX) )
AS
BEGIN
DECLARE @lcListWork varchar(8000) ,
@lnCommaPos int,
@lcItem varchar(8000)
SET @lcListWork = @tcList
WHILE LEN(@lcListWork) > 0
BEGIN
SET @lnCommaPos = CHARINDEX(@tcDelimiter, @lcListWork)
IF @lnCommaPos > 0
BEGIN
SET @lcItem = SUBSTRING(@lcListWork, 1, @lnCommaPos - 1)
SET @lcListWork = SUBSTRING(@lcListWork, @lnCommaPos + 1, LEN(@lcListWork) - @lnCommaPos)
END
ELSE
BEGIN
SET @lcItem = @lcListWork
SET @lcListWork = ''
END
INSERT @ParsedList(element) SELECT @lcItem
END
RETURN
END
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment