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.
Unter diesem Thema:
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 |
Nutzungshinweise¶
Kontextfunktionen benötigen im Allgemeinen keine Argumente.
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 |
+-----------------+