Мне интересно, как бы вы сделали это в Transact SQL:
Предположим, у вас есть строка значений в базе данных, разделенных запятой, например:
"1,2,3,4,5"
В TransactSQL, какой синтаксис вы бы использовали:
ДляНапример, после выполнения этого оператора Transact SQL в базе данных будет пять дополнительных строк:
1 2 3 4 5
Это просто?
Спасибо
DECLARE @tags NVARCHAR(400) = '1,2,3,4,5,7', @idx int while LEN(@tags) > 1 begin select @idx=CHARINDEX(',',@tags); select SUBSTRING(@tags,1,@idx-1); set @tags = SUBSTRING(@tags,@idx+1,LEN(@tags)+1) end select SUBSTRING(@tags,1,@idx-1);
Для этой цели вы можете использовать функцию STRING_SPLIT
https://docs.microsoft.com/en-us/sql/t-sql/functions/string-split-transact-sql?view=sql-server-2017