DB2 извлекает данные между двумя разделителями - PullRequest
0 голосов
/ 20 февраля 2020

Вот строка, из которой я пытаюсь извлечь: 'cn = xyxyxyxyxyx ousy, ou = информационные службы, ou = пользователи домена, dc = corp, dc = xyxyxx, dc = com'

Я пытаясь извлечь строку между первым 'ou =' и второй запятой. В данном случае это «информационные услуги»

Вот что у меня есть: SUBSTR (F_DN, locate ('ou =', F_DN) +3, locate (',', F_DN, locate (' , ', F_DN) +1) +1) как роль И вот результат:' информационные службы, ou = доменные пользователи, dc = co '

Кажется, что найти первый символ просто отлично, но я не может получить правильную длину.

1 Ответ

1 голос
/ 20 февраля 2020

Попробуйте это:

select regexp_substr(str, 'ou=([^,]+)', 1, 1, '', 1)
from (values 'cn=xyxyxyxyxyx ousy,ou=information services,ou=domain users,dc=corp,dc=xyxyxx,dc=com') t (str);
...