- Kategorien:
Kontextfunktionen (Allgemein)
CURRENT_TIMESTAMP¶
Gibt den aktuellen Zeitstempel für das System zurück.
- Aliasse:
LOCALTIMESTAMP, GETDATE, SYSTIMESTAMP
Syntax¶
CURRENT_TIMESTAMP( [ <fract_sec_precision> ] )
CURRENT_TIMESTAMP
Argumente¶
Genauigkeit_Sekunden
This optional argument indicates the precision with which to report the time. For example, a value of 3 says to use 3 digits after the decimal point (i.e. to specify the time with a precision of milliseconds).
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
Fractional seconds are only displayed if they have been explicitly set in the TIME_OUTPUT_FORMAT parameter for the session (e.g.
'HH24:MI:SS.FF'
).
Rückgabewerte¶
Gibt den aktuellen Zeitstempel in der lokalen Zeitzone zurück.
Nutzungshinweise¶
Die Einstellung des Sitzungsparameters TIMEZONE wirkt sich auf den Rückgabewert aus.
Die Einstellung des Parameters TIMESTAMP_TYPE_MAPPING wirkt sich nicht auf den Rückgabewert aus.
Zur Erfüllung der ANSI-Standards kann diese Funktion ohne Klammern aufgerufen werden.
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.
Die Aliasse SYSTIMESTAMP und GETDATE unterscheiden sich von CURRENT_TIMESTAMP in folgenden Punkten:
Sie unterstützen den Parameter
Genauigkeit_Sekunden
nicht.Diese Funktionen können nur mit Klammern aufgerufen werden.
Beispiele¶
Setzen Sie das Zeitausgabeformat auf YYYY-MM-DD HH24:MI:SS.FF
, und geben Sie dann den aktuellen Zeitstempel mit einer Genauigkeit der Sekundenbruchteile von zunächst 2, dann 4 und anschließend 9 (dem Standard) zurück:
ALTER SESSION SET TIMESTAMP_OUTPUT_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF'; SELECT CURRENT_TIMESTAMP(2); +------------------------+ | CURRENT_TIMESTAMP(2) | |------------------------| | 2017-04-26 22:37:22.83 | +------------------------+ SELECT CURRENT_TIMESTAMP(4); +--------------------------+ | CURRENT_TIMESTAMP(4) | |--------------------------| | 2017-04-26 22:37:25.3530 | +--------------------------+ SELECT CURRENT_TIMESTAMP; +-------------------------------+ | CURRENT_TIMESTAMP | |-------------------------------| | 2017-04-26 22:37:28.188000000 | +-------------------------------+