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;