Если вы хотите использовать только substr
и instr
, вы можете написать это здесь:
select substr(substr(name1, 1, instr(name1, '.') - 1), instr(name1, '_') + 1) n1,
substr(substr(name2, 1, instr(name2, '.') - 1), instr(name2, '_') + 1) n2
from (
select 'abc_primary.log' as name1, 'abc_secondary.log' as name2
from dual);
Результат:
N1 N2
------- ---------
primary secondary