컨텍스트 함수

이 함수 집합을 사용하면 문이 실행되는 컨텍스트에 대한 정보를 수집할 수 있습니다. 이러한 함수는 문당 많아야 한 번만 계산됩니다.

이 항목의 내용:

함수 목록

하위 카테고리

함수

참고

일반 컨텍스트

CURRENT_CLIENT

CURRENT_DATE

CURRENT_IP_ADDRESS

CURRENT_REGION

CURRENT_TIME

CURRENT_TIMESTAMP

CURRENT_VERSION

GETDATE

CURRENT_TIMESTAMP의 별칭입니다.

LOCALTIME

CURRENT_TIME의 별칭입니다.

LOCALTIMESTAMP

CURRENT_TIMESTAMP의 별칭입니다.

SYSDATE

SYSTIMESTAMP

세션 컨텍스트

ALL_USER_NAMES

CURRENT_ACCOUNT

계정 로케이터를 반환합니다.

CURRENT_ACCOUNT_NAME

계정 이름을 반환합니다.

CURRENT_ORGANIZATION_NAME

CURRENT_ROLE

CURRENT_AVAILABLE_ROLES

CURRENT_SECONDARY_ROLES

CURRENT_SESSION

CURRENT_STATEMENT

CURRENT_TRANSACTION

CURRENT_USER

GETVARIABLE

LAST_QUERY_ID

LAST_TRANSACTION

세션 오브젝트 컨텍스트

CURRENT_DATABASE

CURRENT_ROLE_TYPE

CURRENT_SCHEMA

CURRENT_SCHEMAS

CURRENT_WAREHOUSE

INVOKER_ROLE

INVOKER_SHARE

IS_APPLICATION_ROLE_IN_SESSION

IS_DATABASE_ROLE_IN_SESSION

IS_GRANTED_TO_INVOKER_ROLE

IS_INSTANCE_ROLE_IN_SESSION

IS_ROLE_IN_SESSION

POLICY_CONTEXT

경고 컨텍스트

GET_CONDITION_QUERY_UUID

사용법 노트

  • 컨텍스트 함수는 일반적으로 인자가 필요하지 않습니다.

  • ANSI 표준을 준수하기 위해 SQL 문에서 다음 컨텍스트 함수를 괄호 없이 호출할 수 있습니다.

    • CURRENT_DATE

    • CURRENT_TIME

    • CURRENT_TIMESTAMP

    • CURRENT_USER

    • LOCALTIME

    • LOCALTIMESTAMP

    참고

    Snowflake Scripting 변수 를 이러한 함수 중 하나를 호출하는 식(예: my_var := <함수_이름>();)으로 설정하는 경우 괄호를 포함해야 합니다.

세션에 대한 현재 웨어하우스, 데이터베이스, 스키마를 표시합니다.

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

현재 날짜, 시간, 타임스탬프를 표시합니다(괄호는 이러한 함수를 호출하는 데 필요하지 않음).

SELECT CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP;
Copy
+--------------+--------------+-------------------------------+
| CURRENT_DATE | CURRENT_TIME | CURRENT_TIMESTAMP             |
|--------------+--------------+-------------------------------|
| 2024-06-07   | 10:45:15     | 2024-06-07 10:45:15.064 -0700 |
+--------------+--------------+-------------------------------+

Snowflake Scripting 블록에서 괄호 없이 CURRENT_DATE 함수를 호출하여 SQL 문에서 변수를 설정합니다.

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

Snowflake Scripting 블록에서 괄호 없이 CURRENT_DATE 함수를 호출하는 식에 변수를 설정하려고 하면 오류가 발생합니다.

EXECUTE IMMEDIATE
$$
DECLARE
  today DATE;
BEGIN
  today := CURRENT_DATE;
  RETURN today;
END;
$$
;
Copy
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;
$$
;
Copy
+-----------------+
| anonymous block |
|-----------------|
| 2024-06-07      |
+-----------------+