• Hi

    You could try the following

    CREATE FUNCTION replace6plusint(@s1 varchar(100)) RETURNS TABLE AS RETURN

    WITH

    firstRun AS (

    SELECT replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(@s1,'0','^'),'1','^'),'2','^'),'3','^'),'4','^'),'5','^'),'6','^'),'7','^'),'8','^'),'9','^'),'^^^^^^','------') a

    UNION ALL

    SELECT replace(a,'-^','--')

    FROM firstRun

    WHERE a like '%-^%'

    ),

    secondRun AS (

    SELECT replace(a,'-','x') b, charindex('^', a) p

    FROM firstRun

    WHERE a not like '%-^%'

    UNION ALL

    SELECT stuff(b, p, 1, substring(@s1,p,1)), charindex('^', b)

    FROM secondRun

    WHERE p <> 0

    )

    SELECT b result FROM secondRun WHERE p = 0