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

So erhalten Sie die aktuelle Uhrzeit (ohne Zeitzone) in PostgreSQL

Problem:

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

Lösung:

Wir verwenden die Funktion LOCALTIME um die aktuelle Uhrzeit ohne den Zeitzonenoffset zu erhalten.

SELECT LOCALTIME;

Hier ist das Ergebnis der Abfrage:

	22:15:51.987914

Diskussion:

Die PostgreSQL-Funktion LOCALTIME gibt die aktuelle Uhrzeit auf dem Computer zurück, auf dem PostgreSQL ausgeführt wird. Es gibt es als Zeitdatentyp in der 'hh:mm:ss.nnnnnn zurück ' Format. In diesem Format:

  • hh ist eine zweistellige Stunde.
  • mm ist eine zweistellige Minute.
  • ss ist eine zweistellige Sekunde.
  • nnnnnn sind Sekundenbruchteile (von null bis 6-stellig).

Wie Sie sehen, hat diese Funktion keine Klammern. Wenn Sie jedoch die Uhrzeit mit einer bestimmten Genauigkeit anzeigen möchten, verwenden Sie als Argument Klammern mit einer Ganzzahl von 0 bis 6. Dadurch wird die Zeit mit der gewünschten Anzahl von Sekundenbruchteilen zurückgegeben. Beispiel:LOCALTIME(1) bezeichnet nur einen Bruchteil einer Sekunde (d. h. eine Nachkommastelle); 2 gibt zwei Stellen zurück usw. Der Standardwert (keine Klammern oder leere Klammern) ist sechs, was auch die maximale Anzahl von Sekundenbruchteilen ist. Sehen Sie sich das nächste Beispiel an:

SELECT LOCALTIME(0) ;

Hier ist das Ergebnis der Abfrage:

21:12:06

Dieses Ergebnis enthält keine Sekundenbruchteile, da wir 0 als Argument angeben.

LOCALTIME gibt die Zeit zurück, zu der die aktuelle Transaktion beginnt. Der Unterschied zwischen LOCALTIME und CURRENT_TIME ist, dass LOCALTIME den Zeitzonenoffset nicht enthält.