Kontextfunktionen¶
Diese Funktionsfamilie ermöglicht es, Informationen über den Kontext zu sammeln, in dem die Anweisung ausgeführt wird. Diese Funktionen werden maximal einmal pro Anweisung ausgewertet.
Liste der Funktionen¶
Unterkategorie | Funktion | Anmerkungen |
|---|---|---|
Allgemeiner Kontext | ||
Alias für CURRENT_TIMESTAMP. | ||
Alias für CURRENT_TIME. | ||
Alias für CURRENT_TIMESTAMP. | ||
Sitzungskontext | ||
Gibt den Konto-Locator zurück. | ||
Gibt den Kontonamen zurück. | ||
Sitzungsobjektkontext | ||
Alert-Kontext | ||
Organisationskontext | ||
Nutzungshinweise¶
Kontextfunktionen benötigen im Allgemeinen keine Argumente (außer für SYS_CONTEXT).
Zur Erfüllung des ANSI-Standards können die folgenden Kontextfunktionen ohne Klammern in SQL-Anweisungen aufgerufen werden:
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURRENT_USER
LOCALTIME
LOCALTIMESTAMP
Bemerkung
Wenn Sie eine Snowflake Scripting Variable für einen Ausdruck festlegen, der eine dieser Funktionen aufruft (z. B.
my_var := <function_name>();), müssen Sie die Klammern einschließen.
Beispiele¶
Zeigt das aktuelle Warehouse, die Datenbank und das Schema für die Sitzung an:
SELECT CURRENT_WAREHOUSE(), CURRENT_DATABASE(), CURRENT_SCHEMA(); +---------------------+--------------------+------------------+ | CURRENT_WAREHOUSE() | CURRENT_DATABASE() | CURRENT_SCHEMA() | |---------------------+--------------------+------------------+ | MY_WAREHOUSE | MY_DB | PUBLIC | |---------------------+--------------------+------------------+ Zeigen Sie das aktuelle Datum, die aktuelle Uhrzeit und den aktuellen Zeitstempel an (beachten Sie, dass für den Aufruf dieser Funktionen keine Klammern erforderlich sind):
SELECT CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP; +--------------+--------------+-------------------------------+ | CURRENT_DATE | CURRENT_TIME | CURRENT_TIMESTAMP | |--------------+--------------+-------------------------------| | 2024-06-07 | 10:45:15 | 2024-06-07 10:45:15.064 -0700 | +--------------+--------------+-------------------------------+ Rufen Sie in einem Snowflake Scripting-Block die Funktion CURRENT_DATE ohne Klammern auf, um eine Variable in einer SQL-Anweisung einzustellen:
EXECUTE IMMEDIATE $$ DECLARE currdate DATE; BEGIN SELECT CURRENT_DATE INTO currdate; RETURN currdate; END; $$ ; +-----------------+ | anonymous block | |-----------------| | 2024-06-07 | +-----------------+ In einem Snowflake Scripting-Block führt der Versuch, eine Variable auf einen Ausdruck zu setzen, der die Funktion CURRENT_DATE ohne Klammern aufruft, zu einem Fehler:
EXECUTE IMMEDIATE $$ DECLARE today DATE; BEGIN today := CURRENT_DATE; RETURN today; END; $$ ; 000904 (42000): SQL compilation error: error line 5 at position 11 invalid identifier 'CURRENT_DATE' Der gleiche Block gibt das aktuelle Datum zurück, wenn die Funktion mit den Klammern aufgerufen wird:
EXECUTE IMMEDIATE $$ DECLARE today DATE; BEGIN today := CURRENT_DATE(); RETURN today; END; $$ ; +-----------------+ | anonymous block | |-----------------| | 2024-06-07 | +-----------------+