コンテキスト関数

この関数ファミリーを使用して、ステートメントが実行されるコンテキストに関する情報を収集できます。これらの関数は、ステートメントごとに最大1回評価されます。

関数のリスト

使用上の注意

  • コンテキスト関数は通常、引数を必要としません(SYS_CONTEXT を除く)。

  • ANSI 標準に準拠するために、 SQL ステートメントで次のコンテキスト関数を括弧なしで呼び出すことができます。

    • CURRENT_DATE

    • CURRENT_TIME

    • CURRENT_TIMESTAMP

    • CURRENT_USER

    • LOCALTIME

    • LOCALTIMESTAMP

    注釈

    Snowflake Scripting 変数 を、これらの関数のいずれかを呼び出す式に設定する場合(たとえば、 my_var := < function_name >(); )、括弧を含める必要があります。

セッションの現在のウェアハウス、データベース、スキーマを表示します。

SELECT CURRENT_WAREHOUSE(), CURRENT_DATABASE(), CURRENT_SCHEMA();
+---------------------+--------------------+------------------+
| CURRENT_WAREHOUSE() | CURRENT_DATABASE() | CURRENT_SCHEMA() |
|---------------------+--------------------+------------------+
| MY_WAREHOUSE        | MY_DB              | PUBLIC           |
|---------------------+--------------------+------------------+

現在の日付、時刻、タイムスタンプを表示します(これらの関数を呼び出すために括弧は必要ありません)。

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 |
+--------------+--------------+-------------------------------+

Snowflake Scripting ブロックで、 SQL ステートメント内の変数を設定するために、CURRENT_DATE 関数を括弧なしで呼び出します。

EXECUTE IMMEDIATE
$$
DECLARE
  currdate DATE;
BEGIN
  SELECT CURRENT_DATE INTO currdate;
  RETURN currdate;
END;
$$
;
+-----------------+
| anonymous block |
|-----------------|
| 2024-06-07      |
+-----------------+

Snowflake Scripting ブロックで、 CURRENT_DATE 関数を括弧なしで呼び出す式に変数を設定しようとすると、エラーになります:

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'

同じブロックは、括弧を付けて関数を呼び出すと、現在の日付を返します:

EXECUTE IMMEDIATE
$$
DECLARE
  today DATE;
BEGIN
  today := CURRENT_DATE();
  RETURN today;
END;
$$
;
+-----------------+
| anonymous block |
|-----------------|
| 2024-06-07      |
+-----------------+