Конвертировать в JSON
Возможно, самым простым решением было бы преобразовать строку в массив JSON и получить доступ к элементам по позиции:
declare @text varchar(200)='1.25,5.34,6.9,8.6547,2.3'
declare @json varchar(202)='[' + @text + ']'
declare @var1 numeric(18,5)= JSON_VALUE(@json,'$[0]')
declare @var2 numeric(18,5)= JSON_VALUE(@json,'$[1]')
select @var1,@var2
Сохранить в табличной переменной, но потерять порядок
Основанным на множестве решением было бы хранить элементы в табличной переменной НО, вероятно, порядок будет потерян , как заметил Рэймонд Нейланд:
declare @text varchar(200)='1.25,5.34,6.9,8.6547,2.3'
declare @values table (id int identity,val varchar(20))
insert into @values (val)
select trim(value) from STRING_SPLIT(@text,',') x
insert into SomeTable (value1)
select val
from @values where ID=1
Единственный порядок, который может быть наложен - это возрастание или убывание, используя ORDER BY, который предполагает, что порядок ввода не имеет значения. Не очень полезно.