У меня есть поле источника из 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 }
мне нужно использовать какую функцию substr, lpad?
после использования следующего запроса
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