Как получить конкретное значение из имени файла по substr-instr - PullRequest
0 голосов
/ 19 марта 2019

У меня есть 2 файла с именами, такими как abc_primary.log и abc_secondary.log , и мне нужны выходные данные, такие как первичные и вторичные, только с использованием substr и instr.

select SUBSTR(name1,(LENGTH(name1)-INSTR(REVERSE(name1), '.', 1)+2)) 
from 
(
  select 
    'abc_primary.log' as name1 ,
    'abc_secondary.log' as name2 
  from dual
);

здесь я могу получить вывод 'log' , который является правой частью файла.Но мне нужно, чтобы результат был только первичный или вторичный .Может ли кто-нибудь здесь помочь мне получить значение.Спасибо

1 Ответ

2 голосов
/ 19 марта 2019

Если вы хотите использовать только 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...