Oracle-Datenbank verwendet Zeitstempel (Zeitstempel) als Datums- und Uhrzeittyp Bei der Bearbeitung von Datums- und Uhrzeitproblemen ist es häufig erforderlich, den Zeitstempel in ein für Menschen lesbares Datums- und Uhrzeitformat zu konvertieren. In diesem Artikel besprechen wir, wie Oracle-Zeitstempel in verschiedene Datums-/Uhrzeitformate konvertiert werden.
Wir können die in Oracle integrierte Funktion to_char() verwenden, um den Zeitstempel in eine Datums-/Uhrzeitzeichenfolge umzuwandeln. Der erste Parameter der Funktion to_char() ist der Zeitstempel, der konvertiert werden muss, und der zweite Parameter ist die Zeichenfolgendarstellung des Zieldatums- und -zeitformats.
Um beispielsweise einen Zeitstempel in eine Datums-/Uhrzeitzeichenfolge im Format „JJJJ-MM-TT HH24:MI:SS“ umzuwandeln, können Sie den folgenden Code verwenden:
SELECT to_char(TIMESTAMP '2021-08-31 12:00:00', 'YYYY-MM-DD HH24:MI:SS') AS datetime_string FROM dual;
Das Ergebnis sollte wie folgt aussehen:
DATETIME_STRING ------------------- 2021-08-31 12:00:00
Unix-Zeit ist die Anzahl der Sekunden zwischen dem 1. Januar 1970 um 00:00:00 UTC und der angegebenen Zeit. In Oracle können wir Zeitstempel mithilfe des folgenden Codes in Unix-Zeit konvertieren:
SELECT (TO_TIMESTAMP('1970-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') - TIMESTAMP '2021-08-31 12:00:00') * 24 * 60 * 60 AS unix_time FROM dual;
Erklären Sie diesen Code. Zuerst verwenden wir die Funktion TO_TIMESTAMP(), um die Zeichenfolge „1970-01-01 00:00:00“ in einen Zeitstempeltyp umzuwandeln. Dann subtrahieren wir den angegebenen Zeitstempel von diesem Zeitstempel (hier „2021-08-31 12:00:00“), um einen Zeitunterschied (Dauer) zu erhalten. Schließlich multiplizieren Sie diesen Zeitunterschied mit 24 * 60 * 60, was der Anzahl der Sekunden pro Tag entspricht, um die entsprechende Unix-Zeit zu erhalten.
Das Ausgabeergebnis des obigen Codes sollte eine Ganzzahl sein, die die Anzahl der Sekunden zwischen dem 1. Januar 1970, 00:00:00 UTC und der angegebenen Zeit darstellt.
Wenn wir Unix-Zeit in Zeitstempel konvertieren möchten, können wir den folgenden Code verwenden:
SELECT TO_TIMESTAMP('1970-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') + NUMTODSINTERVAL(1630425600, 'SECOND') AS timestamp FROM dual;
Im obigen Code verwenden wir die Funktion TO_TIMESTAMP(), um die Zeichenfolge „1970- 01-01 00:00:00' wird in den Zeitstempeltyp konvertiert. Anschließend verwenden wir die Funktion NUMTODSINTERVAL(), um die Unix-Zeit (hier 1630425600) in einen Intervalltyp umzuwandeln. Fügen Sie schließlich den Zeitstempel und das Zeitintervall hinzu, um den Zeitstempel zu erhalten, der der Unix-Zeit entspricht.
Das Ausgabeergebnis sollte ein Wert vom Typ Zeitstempel sein, der das Datum und die Uhrzeit entsprechend der Unix-Zeit darstellt.
Zusammenfassung
In diesem Artikel wird die Oracle-Zeitstempel-Konvertierungsmethode vorgestellt, mit der Zeitstempel in verschiedene Datums- und Zeitformate konvertiert werden können. Mit diesen Methoden können wir Datums- und Uhrzeitprobleme einfacher lösen.
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie Oracle-Zeitstempel in verschiedene Datums-/Uhrzeitformate. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!