Listing 2: Code to Define fn_split T-SQL Function IF OBJECT_ID('dbo.fn_split') IS NOT NULL DROP FUNCTION dbo.fn_split; GO CREATE FUNCTION dbo.fn_split(@arr AS NVARCHAR(2000), @sep AS NCHAR(1)) RETURNS TABLE AS RETURN SELECT (n - 1) - LEN(REPLACE(LEFT(@arr, n-1), @sep, N'')) + 1 AS pos, SUBSTRING(@arr, n, CHARINDEX(@sep, @arr + @sep, n) - n) AS element FROM dbo.Nums WHERE n <= LEN(@arr) + 1 AND SUBSTRING(@sep + @arr, n, 1) = @sep; GO