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.