PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

So erhalten Sie die aktuelle Uhrzeit in PostgreSQL

Problem:

Sie möchten die aktuelle Uhrzeit mit ihrem Zeitzonen-Offset in einer PostgreSQL-Datenbank abrufen.

Lösung:

Wir verwenden die CURRENT_TIME-Funktion, um die aktuelle Uhrzeit und Zeitzoneninformationen abzurufen. Hier ist die Abfrage, die Sie schreiben würden:

SELECT CURRENT_TIME;

Hier ist das Ergebnis der Abfrage:

16:10:11.232455-05

Diskussion:

Die PostgreSQL-Funktion CURRENT_TIME gibt die aktuelle Uhrzeit und den Zeitzonenoffset des Computers zurück, auf dem PostgreSQL ausgeführt wird. Sie wird als Wert im 'hh:mm:ss.nnnnnn+/-tz' angegeben Format. In diesem Format:

  • hh ist eine zweistellige Stunde.
  • mm ist eine zweistellige Minute.
  • ss ist eine zweistellige Sekunde.
  • nnnnnn definiert die Anzahl der Sekundenbruchteile (d.h. die Genauigkeit) von 0 bis 6.
  • +tz oder -tz ist der Zeitzonenoffset, entweder plus oder minus von UTC.

CURRENT_TIME hat keine Klammern. Wenn Sie jedoch die Zeit mit einer bestimmten Genauigkeit anzeigen möchten, können Sie Klammern hinzufügen und eine Ganzzahl von 0 bis 6 einschließen. (Ein „0“-Argument gibt keine Sekundenbruchteile zurück, „1“ gibt einen Sekundenbruchteil zurück (z. B. eins). Stelle hinter dem Komma) usw. Dies gibt die Zeit mit der von Ihnen angegebenen Anzahl von Sekundenbruchteilen und dem Zeitzonen-Offset zurück. Sehen Sie sich das nächste Beispiel an:

SELECT CURRENT_TIME(2) ;

Hier ist das Ergebnis der Abfrage:

16:10:11.23-05

Dieses Ergebnis enthält einen zweistelligen Sekundenbruchteil, weil wir 2 als Argument angeben. Der Zeitzonen-Offset wird entweder positiv oder negativ (+ oder -) angezeigt, je nachdem, ob die Zeit vor oder hinter UTC liegt.

Die von dieser Funktion zurückgegebene Zeit ändert sich während Transaktionen oder einer einzelnen Abfrage nicht. Es ist immer der Zeitpunkt, an dem die Transaktion begonnen hat.