Один из вариантов будет
with t(str) as
(
select '415-11-CV-21654-CBB-20190228-0-transactions.csv' from dual
)
select substr(str,1,instr(str,to_char(sysdate,'-yyyy')) - 1 )
as "Result String"
from t;
Result String
-------------------
415-11-CV-21654-CBB
или другой:
with t(str,year) as
(
select '415-11-CV-21654-CBB-20190228-0-transactions.csv', to_char(sysdate,'yyyy')
from dual
)
select rtrim(regexp_substr(str,'(*.)+'||year),'-'||year)
as "Result String"
from t
Result String
-------------------
415-11-CV-21654-CBB
, чтобы извлечь часть до текущего года с префиксом дефиса.