Извлечь строку из середины длинной строки - SQL - PullRequest
0 голосов
/ 21 марта 2020

У меня есть таблица, в которой есть столбец с длинной строкой, мне поручено разобрать идентификатор из строки, я дошел до того, что могу извлечь все после строки разделителя, но мой запрос по-прежнему ловит все после строки разделителя, которая мне не нужна.

Есть записи, в которых есть несколько идентификаторов на одной и той же строке, которые мне нужно разделить и зафиксировать.

Я включил SQL fiddle:

fiddle

По некоторым причинам в оперативных данных, когда я использую запрос, у меня есть при условии, что он не всегда захватывает номер счета.

Вот обновленная SQL Fiddle, чтобы показать новые проблемы, с которыми я сталкиваюсь. Обновлен FIDDLE

1 Ответ

1 голос
/ 21 марта 2020

Возвращает номера счетов в данных:

select s.value
from temp t CROSS APPLY
     (VALUES (STUFF(description, 1, CHARINDEX('Account Attached: ', description) + LEN('Account Attached: '), '')
             )
     ) v(aa) CROSS APPLY
     STRING_SPLIT(LEFT(v.aa, CHARINDEX('Next Steps:', v.aa) - 2), ' ') s;

Здесь - ваша SQL скрипка.

...