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.