Aktuellen Zeitstempel in PostgreSQL einfügen
-
Was ist
Zeitstempel
in PostgreSQL -
Verwenden Sie die Funktion
NOW()
, um den aktuellen Zeitstempel in PostgreSQL einzufügen -
Verwenden Sie die Funktion
CURRENT_TIMESTAMP
, um den aktuellen Zeitstempel in PostgreSQL einzufügen -
Verwenden Sie die Funktion
LOCALTIMESTAMP
, um den aktuellen Zeitstempel in PostgreSQL einzufü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.
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:
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.
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.
Hinweis: Der von
NOW()
abgerufene Zeit- und Datumswert wird automatisch inohne Zeitzone
umgewandelt, wenn er in einetimestamp
-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;
Ä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.
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.
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);
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.
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.
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.
Ä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);
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.
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.
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