Aktuellen Zeitstempel in PostgreSQL einfügen

Bilal Shahid 15 Februar 2024
  1. Was ist Zeitstempel in PostgreSQL
  2. Verwenden Sie die Funktion NOW(), um den aktuellen Zeitstempel in PostgreSQL einzufügen
  3. Verwenden Sie die Funktion CURRENT_TIMESTAMP, um den aktuellen Zeitstempel in PostgreSQL einzufügen
  4. Verwenden Sie die Funktion LOCALTIMESTAMP, um den aktuellen Zeitstempel in PostgreSQL einzufügen
Aktuellen Zeitstempel in PostgreSQL einfügen

Oft müssen wir die aktuellen Datums- und Uhrzeitdaten in einer Datenbank speichern. Beispielsweise möchten wir möglicherweise protokollieren, wann ein Kunde eine Bestellung auf unserer Website aufgibt.

In solchen Situationen, wenn unsere Anwendung oder Website dynamisch ist, ist es nicht möglich, das aktuelle Datum und die aktuelle Uhrzeit manuell zu schreiben und einzufügen, was auch zu menschlichen Fehlern führen kann.

Daher werden in diesem Artikel die verschiedenen Möglichkeiten zum Einfügen des aktuellen Zeitstempels in eine Tabelle in PostgreSQL sowie deren Verwendung und Einschränkungen erläutert. Bevor wir direkt zu ihnen springen, lassen Sie uns zunächst die Bedeutung des Zeitstempels verstehen.

Was ist Zeitstempel in PostgreSQL

In PostgreSQL ist timestamp ein Datentyp, der Datum und Uhrzeit ohne Zeitzone speichert. Ein Datentyp für jede Programmiersprache ist eine spezifische Entität, die sich durch die Art der Werte unterscheidet, die sie speichert.

Eine Variable vom Datentyp timestamp wird in PostgreSQL folgendermaßen deklariert.

variable_name timestamp

Nachdem Sie nun wissen, was ein Zeitstempel in PostgreSQL ist, wollen wir uns mit dem Verständnis verschiedener Funktionen befassen, die uns helfen, das aktuelle Datum und die aktuelle Uhrzeit abzurufen und in eine Zeitstempel-Variable einzufügen.

Zum besseren Verständnis erstellen wir die folgende Tabelle.

create table example1
(
variable_name timestamp
);

Wenn wir eine Zeit und ein Datum manuell in diese Tabelle einfügen möchten, können wir dies auf folgende Weise tun.

INSERT INTO example1
VALUES ('2022-08-23 18:42:02');

Wir können sehen, dass diese Daten erfolgreich eingefügt wurden.

Uhrzeit und Datum manuell eingeben

Wie wir bereits besprochen haben, ist das manuelle Einfügen von Zeit- und Datumsdaten jedoch keine gute Praxis. Daher stellt uns PostgreSQL verschiedene Funktionen zur Verfügung, mit denen wir die aktuelle Uhrzeit und das aktuelle Datum in eine timestamp-Variable einfügen können.

Lassen Sie uns ihre Verwendung nacheinander verstehen.

Verwenden Sie die Funktion NOW(), um den aktuellen Zeitstempel in PostgreSQL einzufügen

Die Funktion NOW() in PostgreSQL gibt das aktuelle Datum und die Uhrzeit mit der Zeitzone zurück. Die verwendeten Zeitzonendaten entsprechen den Einstellungen des verwendeten Datenbankservers.

Die Funktion NOW() wird wie folgt verwendet.

SELECT NOW();

Wir können sehen, dass die Ausgabe den Zeitstempelwert mit der Zeitzone wie folgt zurückgibt:

JETZT mit Zeitzone

Wenn wir es in einen Wert ohne Zeitzone umwandeln möchten, können wir es auf folgende Weise verwenden.

SELECT NOW()::timestamp;

Dies gibt uns die folgende Ausgabe.

JETZT ohne Zeitzone

Wir können die Funktion NOW() verwenden, um den aktuellen Zeitstempel in eine Tabelle einzufügen. Lassen Sie es uns demonstrieren, indem wir einige Werte in die Tabelle example1 einfügen.

INSERT INTO example1 VALUES (now());

Der Wert wird wie unten gezeigt erfolgreich eingefügt.

JETZT ohne Zeitzone 2

Hinweis: Der von NOW() abgerufene Zeit- und Datumswert wird automatisch in ohne Zeitzone umgewandelt, wenn er in eine timestamp-Variable eingefügt wird, wie in der Ausgabe gezeigt.

Verwenden Sie die Funktion CURRENT_TIMESTAMP, um den aktuellen Zeitstempel in PostgreSQL einzufügen

Die Funktion CURRENT_TIMESTAMP ähnelt der Funktion NOW(), da sie auch die aktuellen Datums- und Zeitdaten mit der Zeitzone zurückgibt.

Diese beiden Funktionen können austauschbar als Alternativen zueinander verwendet werden. Die Funktion CURRENT_TIMESTAMP zeigt die Ergebnisse folgendermaßen an.

SELECT CURRENT_TIMESTAMP;

CURRENT_TIMESTAMP mit Zeitzone

Ähnlich wie bei der Funktion NOW() können wir diese Daten auf folgende Weise in einen Zeitstempel ohne Zeitzone umwandeln.

SELECT CURRENT_TIMESTAMP::timestamp;

Wir können im Ergebnis sehen, dass die Zeitzone aus den Zeitdaten entfernt wurde.

CURRENT_TIMESTAMP ohne Zeitzone

Wir können die Funktion CURRENT_TIMESTAMP verwenden, um den aktuellen Zeitstempel in eine Tabelle einzufügen. Lassen Sie es uns demonstrieren, indem wir einige Werte in die Tabelle example1 einfügen.

INSERT INTO example1 VALUES (CURRENT_TIMESTAMP);

Der Wert wird wie unten gezeigt erfolgreich eingefügt.

CURRENT_TIMESTAMP ohne Zeitzone 2

Ein weiterer Aspekt der Verwendung der Funktion CURRENT_TIMESTAMP ist, dass wir die Genauigkeit der zurückgegebenen Zeit anpassen können. Zum Beispiel können wir in der obigen Ausgabe sehen, dass die Zeit auf 6 Dezimalstellen genau angezeigt wird.

Mit PostgreSQL können wir diese Genauigkeit jedoch an unsere Bedürfnisse anpassen. Die Syntax wird in der folgenden Abfrage veranschaulicht.

SELECT CURRENT_TIMESTAMP(2);

CURRENT_TIMESTAMP-Präzision

Wir können in der Ausgabe sehen, dass die Zeit auf 2 Dezimalstellen genau ist, wie im Präzisionsparameter gefordert. Der aktuelle Zeitstempel kann nach dem Definieren einer Genauigkeit eingefügt werden, wie unten gezeigt.

INSERT INTO example1 VALUES (CURRENT_TIMESTAMP(2));

Die erfolgreiche Einfügung wird unten angezeigt.

Fügen Sie die Genauigkeit CURRENT_TIMESTAMP ein

Verwenden Sie die Funktion LOCALTIMESTAMP, um den aktuellen Zeitstempel in PostgreSQL einzufügen

Zuletzt haben wir die Funktion LOCALTIMESTAMP, die dem gleichen Zweck dient, um das aktuelle Datum und die Uhrzeit abzurufen. Im Gegensatz zu den Funktionen NOW() und CURRENT_TIMESTAMP gibt die Funktion LOCALTIMESTAMP jedoch Uhrzeit und Datum ohne Zeitzone zurück.

Lassen Sie uns sehen, wie es verwendet wird, um aktuelle Zeitstempeldaten abzurufen.

SELECT LOCALTIMESTAMP;

Dies ergibt die folgende Ausgabe.

LOKALZEITSTEMPEL

Daher können wir die Funktion LOCALTIMESTAMP verwenden, um den aktuellen Zeitstempel in eine Tabelle einzufügen. Lassen Sie es uns demonstrieren, indem wir einige Werte in die Tabelle example1 einfügen.

INSERT INTO example1 VALUES (LOCALTIMESTAMP);

Der Wert wird wie unten gezeigt erfolgreich eingefügt.

LOCALTIMESTAMP einfügen

Ähnlich wie bei der Funktion CURRENT_TIMESTAMP können wir die Zeitgenauigkeit in der Funktion LOCALTIMESTAMP angeben. Die Syntax dafür lautet wie folgt:

SELECT LOCALTIMESTAMP(2);

LOCALTIMESTAMP-Präzision

Wir können in der Ausgabe sehen, dass die Zeit auf 2 Dezimalstellen genau ist, wie im Präzisionsparameter gefordert. Der aktuelle Zeitstempel kann mit der Funktion LOCALTIMESTAMP eingefügt werden, indem die Genauigkeit angegeben wird, wie unten gezeigt.

INSERT INTO example1 VALUES (LOCALTIMESTAMP(2));

Die erfolgreiche Einfügung wird unten angezeigt.

Fügen Sie die LOCALTIMESTAMP-Präzision ein

Dies fasst alle verschiedenen Möglichkeiten zusammen, den aktuellen Zeitstempel in eine Tabelle in PostgreSQL einzufügen. Wir hoffen, Sie haben gelernt, wie Sie die Funktionen NOW(), CURRENT_TIMESTAMP und LOCALTIMESTAMP verwenden, um die Datums- und Zeitwerte in eine Variable vom Datentyp timestamp einzufügen.

Bilal Shahid avatar Bilal Shahid avatar

Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!

GitHub

Verwandter Artikel - PostgreSQL Timestamp