- Kategorien:
Kontextfunktionen (Allgemein)
CURRENT_TIMESTAMP¶
Gibt den aktuellen Zeitstempel in der lokalen Zeitzone zurück.
- Aliasse:
Syntax¶
CURRENT_TIMESTAMP( [ <fract_sec_precision> ] )
CURRENT_TIMESTAMP
Argumente¶
fract_sec_precision
Dieses optionale Argument gibt die Genauigkeit an, mit der die Uhrzeit gemeldet werden soll. Bei einem Wert von 3 werden beispielsweise 3 Nachkommastellen verwendet (d. h. die Zeit wird mit einer Genauigkeit von Millisekunden angegeben).
Die Standardgenauigkeit ist 9 (Nanosekunden).
Gültige Werte liegen zwischen 0 und 9. Die meisten Plattformen unterstützen jedoch keine echte Nanosekundengenauigkeit. Die Genauigkeit, die Sie erhalten, ist möglicherweise geringer als die von Ihnen angegebene Genauigkeit. In der Praxis liegt die Genauigkeit meist höchstens im Millisekundenbereich (3 Stellen).
Bemerkung
Sekundenbruchteile werden nur angezeigt, wenn sie explizit im Parameter TIMESTAMP_OUTPUT_FORMAT für die Sitzung festgelegt worden sind (z. B.
'YYYY-MM-DD HH24:MI:SS.FF'
).
Rückgabewerte¶
Gibt die aktuelle Systemzeit zurück. Der Datentyp des zurückgegebenen Werts ist TIMESTAMP_LTZ.
Nutzungshinweise¶
Die Einstellung des Parameters TIMEZONE wirkt sich auf den Rückgabewert aus. Der zurückgegebene Zeitstempel wird in der Zeitzone der Sitzung angegeben.
Die Einstellung des Parameters TIMESTAMP_TYPE_MAPPING wirkt sich auf den Rückgabewert aus. Der zurückgegebene Zeitstempel entspricht dem Zeitstempeltyp der Sitzung.
Verwenden Sie den zurückgegebenen Wert nicht für eine genaue zeitliche Reihenfolge zwischen gleichzeitigen Abfragen (die vom selben virtuellen Warehouse verarbeitet werden), da die Abfragen möglicherweise von verschiedenen Computeressourcen (im Warehouse) verarbeitet werden.
Zur Erfüllung der ANSI-Standards kann diese Funktion ohne Klammern aufgerufen werden.
Die Aliasse SYSTIMESTAMP und GETDATE unterscheiden sich von CURRENT_TIMESTAMP in folgenden Punkten:
Sie unterstützen nicht den Parameter
fract_sec_precision
.Diese Funktionen müssen mit Klammern aufgerufen werden.
Beispiele¶
Stellen Sie das Zeitausgabeformat auf YYYY-MM-DD HH24:MI:SS.FF
ein:
ALTER SESSION SET TIMESTAMP_OUTPUT_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF';
Geben Sie den aktuellen Zeitstempel mit einer Genauigkeit der Sekundenbruchteile von 2 zurück:
SELECT CURRENT_TIMESTAMP(2);+------------------------+ | CURRENT_TIMESTAMP(2) | |------------------------| | 2017-04-26 22:37:22.83 | +------------------------+
Geben Sie den aktuellen Zeitstempel mit einer Genauigkeit der Sekundenbruchteile von 4 zurück:
SELECT CURRENT_TIMESTAMP(4);+--------------------------+ | CURRENT_TIMESTAMP(4) | |--------------------------| | 2017-04-26 22:37:25.3530 | +--------------------------+
Geben Sie den aktuellen Zeitstempel mit der Standard-Genauigkeit der Sekundenbruchteile (9) zurück:
SELECT CURRENT_TIMESTAMP;+-------------------------------+ | CURRENT_TIMESTAMP | |-------------------------------| | 2017-04-26 22:37:28.188000000 | +-------------------------------+