Convierta epoch hasta la fecha en sqlplus / Oracle

Tengo la siguiente tabla:

SQL> desc recording Name Null? Type -------------------- -------- ------ CAPTUREID NOT NULL NUMBER(9) STARTDATE NOT NULL DATE ENDDATE DATE STATE NUMBER(1) ESTIMATEDENDTIME NUMBER(13) 

Aquí hay una sola línea para esta tabla:

 SQL> select * from recording where CAPTUREID=14760457; CAPTUREID STARTDATE ENDDATE STATE ESTIMATEDENDTIME ---------- ------------------- ------------------- ----- ---------------- 14760457 29/09/2010 08:50:01 29/09/2010 09:52:04 0 1285746720000 

Estoy bastante seguro de que esto se ha preguntado tantas veces antes, pero todas las soluciones que he encontrado hasta ahora realmente no funcionaron, así que … ¿Cómo convierto ESTIMATEDENDTIME de su forma epoch original a DD/MM/YYY HH:MI:SS formato DD/MM/YYY HH:MI:SS en una sola consulta en SQLPLUS?

¡Gracias!

En Oracle, agregar X a una FECHA le devolverá una FECHA X días después.

Si ESTIMATEDENDTIME es milisegundos desde Epoch, entonces podrías hacer

 DATE '1970-01-01' + ( 1 / 24 / 60 / 60 / 1000) * ESTIMATEDENDTIME 

y luego use to_char para lograr el formato correcto de la fecha resultante. p.ej:

 SELECT captureid , startdate , enddate , state , estimatedendtime , DATE '1970-01-01' + ( 1 / 24 / 60 / 60 / 1000) * estimatedendtime AS estimatedenddate FROM recording 
 select ((timestamp_coloum_name - to_date('01-JAN-1970','DD-MON-YYYY')) * (86400)) from any_table;