Удалите все не-ди git символы, затем возьмите подстроку из 9 символов, начиная с 10-го символа:
SELECT SUBSTR( REGEXP_REPLACE( value, '\D' ), 10, 9 )
FROM table_name;
Итак, для ваших тестовых данных:
CREATE TABLE table_name ( value ) AS
SELECT '123456789, 999999999, 123456789' FROM DUAL UNION ALL
SELECT '123456789 ---987654321---987654321---999999999' FROM DUAL UNION ALL
SELECT '753812569/999999999/965421678/212123512' FROM DUAL UNION ALL
SELECT 'bcr987654321 |bcr 123456789' FROM DUAL
Это выводит:
| SUBSTR(REGEXP_REPLACE(VALUE,'\D'),10,9) |
| :-------------------------------------- |
| 999999999 |
| 987654321 |
| 999999999 |
| 123456789 |
дБ <> скрипка здесь