Oracle
 sql >> Database >  >> RDS >> Oracle

Come restituire il timestamp Unix in Oracle

Ecco un'opzione per restituire il timestamp Unix quando si utilizza Oracle Database.

Il timestamp Unix (noto anche come Unix Epoch time, Unix time o POSIX time) è il numero di secondi trascorsi dalle 00:00:00 di giovedì 1 gennaio 1970, Coordinated Universal Time (UTC).

Ottieni il timestamp Unix corrente

Ecco un esempio di come ottenere il timestamp Unix dalla data e dall'ora correnti:

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

Esempio di risultato:

1650253093.999999999999999999999999999998

Convertire un timestamp specificato in un timestamp Unix

Ecco un esempio in cui il timestamp di input è un valore hardcoded:

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

Risultato:

1913074244.999999999999999999999999999997