В SQL Server 2016 и более поздних версиях (по крайней мере, на уровне совместимости 130) вы можете использовать функцию STRING_SPLIT
.
Функция разбивает строку на таблицу на основе разделителя между символами между записями.Поскольку у вас есть несколько пробелов между значениями, вам нужно REPLACE
с одним символом.Я использовал вертикальную трубу, |
, но вы можете выбрать что-то еще более неясное.
Кроме того, я использовал TRIM
, чтобы отбросить конечные пробелы.
DECLARE @s NVARCHAR(MAX) = '96859471/971 AAAA HAWAII 96860471/971 BBBB HAWAII 96861471/971 CCCC HAWAII 96863471/971 DDDD HAWAII '
SELECT @s = REPLACE(TRIM(@s),' ','|')
SELECT value FROM STRING_SPLIT(@s,'|');
Результаты:
+--------------------------+
| value |
+--------------------------+
| 96859471/971 AAAA HAWAII |
| 96860471/971 BBBB HAWAII |
| 96861471/971 CCCC HAWAII |
| 96863471/971 DDDD HAWAII |
+--------------------------+
Вы должны иметь возможность инкапсулировать это в задачу «Выполнение SQL», а затем вернуть ее в переменную объекта или напрямую поместить в таблицу.Независимо от ваших требований.