Проблема с функцией преобразования эпох - PullRequest
0 голосов
/ 10 февраля 2020

У меня похожая проблема, когда у меня есть даты эпохи в строке, и у нас есть функция, которая преобразует дату, но она также удаляет первую строку

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