Ik ben het ermee eens dat het doorgeven van een CSV-steek in dit geval de beste oplossing is. Ik zou graag een eenvoudigere manier willen voorstellen om de csv-tekenreeks te splitsen, zonder tabellen en functies te maken, door CTE te gebruiken:
declare @separator char(1);
set @separator = ',';
;with baseCte as
(select left(@ValueList, charindex(@separator, @ValueList) - 1) as Value,
substring(@ValueList, charindex(@separator, @ValueList) + 1, len(@ValueList))
as rest
union all
select left(rest, charindex(@separator, rest) - 1) as Value,
substring(rest, charindex(@separator, rest) + 1, len(rest)) from baseCte
where len(rest) > 1
)
select Value from baseCte
OPTION (MAXRECURSION 0);