sql >> Base de Datos >  >> RDS >> Oracle

Oracle convierte la época de Unix a la fecha

Para convertir de milisegundos a partir de la época (supongamos que la época es el 1 de enero de 1970):

select to_date('19700101', 'YYYYMMDD') + ( 1 / 24 / 60 / 60 / 1000) * 1322629200000
from dual;

30/11/2011 5:00:00 a. m.

Para convertir esa fecha a milisegundos:

select (to_date('11/30/2011 05:00:00', 'MM/DD/YYYY HH24:MI:SS') - to_date('19700101', 'YYYYMMDD')) * 24 * 60 * 60 * 1000
from dual;

1322629200000

Si son segundos en lugar de milisegundos, simplemente omita la parte 1000 de la ecuación:

select to_date('19700101', 'YYYYMMDD') + ( 1 / 24 / 60 / 60 ) * 1322629200
from dual;

select (to_date('11/30/2011 05:00:00', 'MM/DD/YYYY HH24:MI:SS') - to_date('19700101', 'YYYYMMDD')) * 24 * 60 * 60
from dual;

Espero que ayude.