Мне нужно разделить поле описания (свободный текст) на несколько строк. Формат в настоящее время по линии:(SQL) Определить позиции множественных вхождений строкового формата в поле
Case_Reference | Narrative
```````````````|`````````````````````````````````````
XXXX/XX-123456 | [Endless_Text up to ~50k characters]
В области повествовательной как текст, отдельные записи (когда различные агенты сделали что-то к делу) начинается с даты ввода с последующими двумя пробелами (т.е. 'dd/mm/yyyy '
), с значения дат изменяются с каждой записью в этом же поле.
Другими словами, после траления для лучшего разделителя, единственным, который я могу использовать, является этот формат строки, поэтому мне нужно идентифицировать несколько позиций в тексте Повествования, где формат (будет маскировать лучшее слово?) соответствует 'dd/mm/yyyy '
.
можно определить несколько вхождений последовательной строки не проблема, но это его идентификации, где я в основном ищу:
'%[0-9][0-9]/[0-9][0-9]/[0-9][0-9][0-9][0-9] %'
PATINDEX
конечно возвращает первое вхождение/положение, но насколько я знаю, нет никакого способа «изменить» это (т. е. созданную функцию), чтобы позволить собирать остатки вхождений/позиций этого, как мы можем, с CHARINDEX
(поскольку PATINDEX
не имеет параметр начальной позиции).
Для ясности я не ищу код, чтобы разграничить это непосредственно, поскольку мне нужно дополнительно управлять каждой записью, так что это чисто позиции нескольких вхождений строки в текст, который я ищу.
Любая помощь будет очень оценена.
Для наглядности, нет возможности сделать этот предварительный импорт, так что это необходимо сделать на этих данных с землей.
Желаемая выход будет
Case_Reference1 | 1st_Position_of_Delimiter_String
Case_Reference1 | 2nd_Position_of_Delimiter_String
Case_Reference2 | 1st_Position_of_Delimiter_String
Case_Reference2 | 2nd_Position_of_Delimiter_String
Case_Reference2 | 3rd_Position_of_Delimiter_String
Каков желаемый результат? Вы в настоящее время сказали нам маршрут, который хотите принять, но не готовый продукт. Там может быть лучший способ, чем маршрут, в котором вы сейчас работаете. – iamdave
Лучший способ сделать это во время проглатывания данных с использованием языка программирования. Если вы хотите сделать то же самое для существующих данных, тогда вы можете получить только PATIndex. –
Просьба указать некоторые строки строк – Shnugo