Не получать исходные данные в соответствии с желаемым выводом с помощью Regexp_substr - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть поле источника из oracle дБ табличного типа данных VARCHAR2 (512 CHAR), которое похоже на это

%custId{str:hGl0EWJsRTwweerRkaaKsdKDsqKm0123}
%prod{str:BalanceAmount}%logistic{str:Logistic}%hiringdate{str:1999-02-28T11:10:11p}%custId{str:FpseikiD0Jt1L0Mskdww8oZBjU4La123}

, но когда я рассматриваю для своего извлечения, я должен рассматривать только данные с% cusId вытащить данные, и только эти alphanumeri c данные должны быть собраны и заполнены для извлечения, проблема в том, что это только один пример из источника, может быть любое количество комбинаций, но я должен рассматривать только% custId с% custId {str : hGl0EWJsRTwweerRkaaKsdKDsqKm0123}

SELECT
    field,
    REGEXP_SUBSTR(field, '%custId\{.*?\}') AS custId
FROM yourTable
where col_source='%prod{str:BalanceAmount}%logistic{str:Logistic}%hiringdate{str:1999-02-28T11:10:11p}%custId{str:FpseikiD0Jt1L0Mskdww8oZBjU4La123}'

Результат

%custId{str:FpseikiD0Jt1L0Mskdww8oZBjU4La123}

, но ожидаемый результат

FpseikiD0Jt1L0Mskdww8oZBjU4La123

предположим из источника, если у меня есть дублированный сценарий - custid как показано ниже

col_source='%prod{str:BalanceAmount}%custId{str:FpseikiD0Jt1L0Mskdww8oZBjU4La123}%logistic{str:Logistic}%hiringdate{str:1999-02-28T11:10:11p}%custId{str:FpseikiD0Jt1L0Mskdww8oZBjU4La123}'

как получить только уникальные?

предложения ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...