Saya setuju bahwa meneruskan sengatan CSV adalah solusi terbaik dalam kasus ini. Saya ingin mengusulkan cara yang lebih sederhana untuk membagi string csv, tanpa membuat tabel dan fungsi, dengan menggunakan CTE:
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);