Я написал функцию разделения
'abc, def, ghi' это мой ввод, и я хочу разделить запятыми, но я получил неправильный вывод
Можете ли вы решить эту проблему
alter function splitdata(
@expression varchar(200),
@seperator varchar(200)
)
RETURNS @SplitedData TABLE(
splitcol varchar(1000)
)
AS
BEGIN
DECLARE @startIndex as int=1,@seperatorIndex as int
SET @seperatorIndex=CHARINDEX(@seperator,@expression,@startIndex)
DECLARE @userData varchar(1000)
WHILE @startIndex<@seperatorIndex
BEGIN
SET @userData=(SELECT
SUBSTRING(@expression,@startIndex,@seperatorIndex-1))
INSERT INTO @SplitedData VALUES(@userData)
SET @startIndex=@seperatorIndex+1
SET @seperatorIndex=CHARINDEX(@seperator,@expression,@startIndex)
IF @startIndex>@seperatorIndex
BEGIN
SET @userData=(SELECT SUBSTRING(@expression,@startIndex,(SELECT
LEN(@expression))))
INSERT INTO @SplitedData VALUES(@userData)
END
END
RETURN
END
вывод: я получаю вывод, как это
а
азбука, Защита
ГХИ