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

Cómo devolver la marca de tiempo de Unix en Oracle

Aquí hay una opción para devolver la marca de tiempo de Unix cuando se usa Oracle Database.

La marca de tiempo de Unix (también conocida como hora de época de Unix, hora de Unix o hora POSIX) es la cantidad de segundos que han transcurrido desde las 00:00:00 del jueves 1 de enero de 1970, hora universal coordinada (UTC).

Obtener la marca de tiempo Unix actual

Este es un ejemplo de cómo obtener la marca de tiempo de Unix a partir de la fecha y hora actuales:

SELECT (CAST (systimestamp at time zone 'UTC' as date) - date '1970-01-01') * 86400
FROM DUAL;

Resultado de ejemplo:

1650253093.999999999999999999999999999998

Convertir una marca de tiempo especificada en una marca de tiempo Unix

Aquí hay un ejemplo donde la marca de tiempo de entrada es un valor codificado:

SELECT (
    CAST(timestamp '2030-08-15 18:30:45' at time zone 'UTC' as date) - date '1970-01-01'
    ) * 86400
FROM DUAL;

Resultado:

1913074244.999999999999999999999999999997