Heim  >  Artikel  >  Datenbank  >  So konvertieren Sie Oracle-Zeitstempel in verschiedene Datums-/Uhrzeitformate

So konvertieren Sie Oracle-Zeitstempel in verschiedene Datums-/Uhrzeitformate

PHPz
PHPzOriginal
2023-04-18 09:06:0511962Durchsuche

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.

  1. Konvertieren Sie den Zeitstempel in eine Datums-/Uhrzeitzeichenfolge.

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
  1. Konvertieren Sie die Zeit. Konvertieren Sie den Stempel in Unix-Zeit.

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.

  1. Unix-Zeit in Zeitstempel konvertieren

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn