Direkt zum Inhalt
Urkunden
JSON-FunktionenTabellen & Schema ManagementMathe-FunktionenDatenbankenString-FunktionenAuslöserIndizesDatum FunktionenBasic Syntax

PostgreSQL CURRENT_TIMESTAMP

PostgreSQL bietet verschiedene Datumsfunktionen, um Datums- und Zeitwerte zu verarbeiten und zu manipulieren. Unter diesen wird `CURRENT_TIMESTAMP` verwendet, um das aktuelle Datum und die Uhrzeit mit den Zeitzoneninformationen zum Zeitpunkt der Ausführung der Funktion zu erhalten.

Verwendung

Die Funktion "CURRENT_TIMESTAMP" wird verwendet, wenn du den genauen Zeitpunkt einer Operation erfassen musst, z. B. bei der Protokollierung von Ereignissen oder beim Setzen von Standardwerten für Zeitstempelspalten.

sql
SELECT CURRENT_TIMESTAMP;

Mit dieser Syntax werden das aktuelle Datum und die Uhrzeit einschließlich der Zeitzone zum Zeitpunkt der Ausführung der Abfrage abgefragt.

Beispiele

1. Grundlegende Abfrage des aktuellen Zeitstempels

sql
SELECT CURRENT_TIMESTAMP;

Dieser Befehl gibt das aktuelle Datum und die Uhrzeit einschließlich der Zeitzoneninformationen zum Zeitpunkt der Ausführung zurück.

2. Einfügen des aktuellen Zeitstempels in eine Tabelle

sql
INSERT INTO logs (event_description, event_time)
VALUES ('User logged in', CURRENT_TIMESTAMP);

Dieses Beispiel zeigt, wie der aktuelle Zeitstempel in die Tabelle "Logs" eingefügt wird, um den genauen Zeitpunkt eines Ereignisses zu erfassen.

3. Standardwert einer Spalte festlegen

sql
CREATE TABLE orders (
    order_id SERIAL PRIMARY KEY,
    order_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Hier wird die Tabelle `Bestellungen` mit einer Spalte `Bestellzeit` erstellt, die automatisch den aktuellen Zeitstempel als Standardwert speichert, wenn ein neuer Datensatz eingefügt wird.

Tipps und bewährte Praktiken

  • Zeitzonen-Bewusstsein: Denke daran, dass `CURRENT_TIMESTAMP` die Zeit mit Zeitzoneninformationen zurückgibt, was für Anwendungen, die mehrere Zeitzonen umfassen, wichtig ist.
  • Als Standard verwenden: Verwende `CURRENT_TIMESTAMP` als Standardwert für Zeitstempelspalten, um die Datenintegrität und die automatische Zeiterfassung sicherzustellen.
  • Vermeide häufige Anrufe: Minimiere die Anzahl der `CURRENT_TIMESTAMP`-Aufrufe in einer einzigen Transaktion, um inkonsistente Zeitwerte zu vermeiden.
  • Präzisionskontrolle: Bei Bedarf kannst du die Genauigkeit mit `CURRENT_TIMESTAMP(precision)` angeben, um die Anzahl der Sekundenbruchteile zu steuern. Zum Beispiel:
sql
SELECT CURRENT_TIMESTAMP(2);

Damit wird der aktuelle Zeitstempel mit einer Genauigkeit von bis zu zwei Sekundenbruchteilen abgerufen.

Zusätzliche Hinweise

  • SQL-Standardfunktion: `CURRENT_TIMESTAMP` ist eine SQL-Standardfunktion und nicht nur für PostgreSQL. Das kann für Nutzer, die mit mehreren Datenbanksystemen arbeiten, von Vorteil sein.
  • Vergleich mit ähnlichen Funktionen: Benutzer sollten beachten, dass `CURRENT_TIMESTAMP` Funktionen wie `NOW()` oder `CURRENT_TIME` ähnelt, wobei `NOW()` ein Alias für `CURRENT_TIMESTAMP` in PostgreSQL ist, während `CURRENT_TIME` nur die aktuelle Zeit zurückgibt.