Single request solution:
WITH T(LST) AS ( SELECT CAST(N'4,8,15,16,23,42' AS NVARCHAR(MAX)) ), T2(V, REST) AS ( SELECT LEFT(LST+',', CHARINDEX(',', LST+',')-1), SUBSTRING(LST+',', CHARINDEX(',', LST+',')+1, LEN(LST+',')) FROM T UNION ALL SELECT LEFT(REST, CHARINDEX(',', REST)-1), SUBSTRING(REST, CHARINDEX(',', REST)+1, LEN(REST)) FROM T2 WHERE CHARINDEX(',', REST) > 1 ) SELECT V FROM T2
source share