У меня похожая проблема, когда у меня есть даты эпохи в строке, и у нас есть функция, которая преобразует дату, но она также удаляет первую строку
CREATE OR REPLACE FUNCTION ARADMIN.CLOB_EPOCH_FIND_CONVERT (str IN VARCHAR2)
RETURN VARCHAR2
AS
reversed VARCHAR2 (4000);
BEGIN
with t as (
select CLOB_EPOCH_FIND_CONVERT.str from dual
)
select
LISTAGG(strdt)
within group (order by n) "newstr"
INTO reversed
from (
select
str
,n
,regexp_replace (sstr,'(.*?)\d{10}$*','\1') || (to_date('19700101','yyyymmdd')
+ regexp_substr(sstr,'\d{10}',1)/3600/24) strdt
from (select
str
,n
,regexp_substr(v.str,'(.*?)(\d{10}|$)',1,v.n) sstr
from ( select t.str, m.column_value n
from t, table(cast(multiset( select level
from dual
connect by level <=
regexp_count(t.str,'.*?\d{10}')+1) as sys.OdciNumberList)) m
) v
)
)
group by str;
RETURN reversed;
END CLOB_EPOCH_FIND_CONVERT;
/
Попытка преобразовать строку ниже:
select CLOB_EPOCH_FIND_CONVERT('1465392833nd342kStartup issues in Uverse bundle. It has been fixed.
Tester needs to retest1465395570ra752hNot seeing Grid error anymore1465395601ra752hThis ticket can be closed.1497276519rs50386/8/2016 10:20:01 AM ra752h
This ticket can be closed.') from dual