не уверен, какова ваша оригинальная функция разделения, но я не могу представить, было бы сложно расширить ее.
CREATE FUNCTION [dbo].[mysplit] ( @input nvarchar(MAX), @row_delimiter char(1), @col_delimiter char(1))
RETURNS @OutputTable TABLE ( [name] nvarchar(100), [order] nvarchar(100) )
AS
BEGIN
declare
@str1 nvarchar(100)
, @str2 nvarchar(100)
, @tmpstr nvarchar(200)
WHILE LEN(@input) > 0
BEGIN
set @tmpstr = LEFT(@input, ISNULL(NULLIF(CHARINDEX(@row_delimiter, @input) - 1, -1), LEN(@input)))
set @str1 = LEFT(@tmpstr, ISNULL(NULLIF(CHARINDEX(@col_delimiter, @tmpstr) - 1, -1), LEN(@tmpstr)))
set @str2 = SUBSTRING(@tmpstr,ISNULL(NULLIF(CHARINDEX(@col_delimiter, @tmpstr), 0), LEN(@tmpstr)) + 1, LEN(@tmpstr))
set @input = SUBSTRING(@input,ISNULL(NULLIF(CHARINDEX(@row_delimiter, @input), 0), LEN(@input)) + 1, LEN(@input))
INSERT INTO @OutputTable ( [name] , [order] )
VALUES ( @str1 , @str2)
END
RETURN
END
GO
select * from mysplit('Content1:1,Content2:2,Content3:3', ',' , ':')