In Oracle Database können wir die folgende Technik verwenden, um ein Datum von einem Unix-Zeitstempelwert zurückzugeben.
Der Unix-Zeitstempel (auch bekannt als Unix-Epochenzeit, Unix-Zeit oder POSIX-Zeit) ist die Anzahl der Sekunden, die seit Donnerstag, 1. Januar 1970, 00:00:00 Uhr, Koordinierte Weltzeit (UTC) verstrichen sind.
Beispiel
Hier ist ein Beispiel für die Umwandlung eines Unix-Zeitstempels in ein DATE Wert:
SELECT
TO_DATE( '1970-01-01', 'YYYY-MM-DD' ) + NUMTODSINTERVAL( 1650321073, 'SECOND' )
FROM DUAL; Ergebnis:
18-APR-22
Hier verwenden wir das TO_DATE() Funktion zum Konstruieren des Datums 1970-01-01. Wir addieren dann unseren Unix-Zeitstempel zu diesem Datum, um unser Ergebnis zu erhalten. In diesem Fall verwenden wir NUMTODSINTERVAL() um den Unix-Zeitstempel in ein interval umzuwandeln Wert. Das Ergebnis ist ein DATE Wert.
Datum und Uhrzeit erhalten
Wir können den TO_TIMESTAMP() verwenden Funktion zur Ausgabe eines timestamp Wert:
SELECT
TO_TIMESTAMP( '1970-01-01', 'YYYY-MM-DD' ) + NUMTODSINTERVAL( 1650321073, 'SECOND' )
FROM DUAL; Ergebnis:
18-APR-22 10.31.13.000000 PM
Eine andere Möglichkeit, dies zu tun, ist wie folgt:
SELECT TO_CHAR(
TO_DATE( '1970-01-01', 'YYYY-MM-DD' ) + numtodsinterval( 1650321073, 'SECOND' ),
'YYYY-MM-DD HH24:MI:SS'
)
FROM DUAL; Ergebnis:
2022-04-18 22:31:13
Hier verwenden wir den TO_CHAR() Funktion, um das von TO_DATE() zurückgegebene Ergebnis auszugeben in unserem bevorzugten Format. Diese Funktion gibt ihr Ergebnis als VARCHAR2 zurück Wert.