컨텍스트 함수¶
이 함수 집합을 사용하면 문이 실행되는 컨텍스트에 대한 정보를 수집할 수 있습니다. 이러한 함수는 문당 많아야 한 번만 계산됩니다.
이 항목의 내용:
함수 목록¶
하위 카테고리 |
함수 |
참고 |
---|---|---|
일반 컨텍스트 |
||
CURRENT_TIMESTAMP의 별칭입니다. |
||
CURRENT_TIME의 별칭입니다. |
||
CURRENT_TIMESTAMP의 별칭입니다. |
||
세션 컨텍스트 |
||
계정 로케이터를 반환합니다. |
||
계정 이름을 반환합니다. |
||
세션 오브젝트 컨텍스트 |
||
경고 컨텍스트 |
사용법 노트¶
컨텍스트 함수는 일반적으로 인자가 필요하지 않습니다.
ANSI 표준을 준수하기 위해 SQL 문에서 다음 컨텍스트 함수를 괄호 없이 호출할 수 있습니다.
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURRENT_USER
LOCALTIME
LOCALTIMESTAMP
참고
Snowflake Scripting 변수 를 이러한 함수 중 하나를 호출하는 식(예:
my_var := <함수_이름>();
)으로 설정하는 경우 괄호를 포함해야 합니다.
예¶
세션에 대한 현재 웨어하우스, 데이터베이스, 스키마를 표시합니다.
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 블록에서 괄호 없이 CURRENT_DATE 함수를 호출하여 SQL 문에서 변수를 설정합니다.
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 |
+-----------------+