CURRENT_TIMESTAMP
CURRENT_TIMESTAMP
현지 시간대의 시스템 현재 타임스탬프를 반환하는 일반 컨텍스트 함수예요.
출처: 공식 문서
본문
현지 시간대의 시스템 현재 타임스탬프를 반환합니다.
참고 (See also): LOCALTIMESTAMP, GETDATE, SYSTIMESTAMP
구문 (Syntax)
CURRENT_TIMESTAMP( [ <fract_sec_precision> ] )
CURRENT_TIMESTAMP
인자 (Arguments)
이 선택적 인자는 시간을 보고할 정밀도를 나타냅니다. 예를 들어 값 3은 소수점 뒤 3자리를 사용하도록(즉, 밀리초 정밀도로 시간을 지정) 지시합니다.
기본 정밀도는 9(나노초)입니다.
유효한 값 범위는 0 - 9입니다. 그러나 대부분의 플랫폼은 실제 나노초 정밀도를 지원하지 않습니다. 얻는 정밀도는 지정한 정밀도보다 낮을 수 있습니다. 실제로 정밀도는 일반적으로 기껏해야 대략 밀리초(3자리)입니다.
참고 (Note): 소수 초(fractional seconds)는 세션의 TIMESTAMP_OUTPUT_FORMAT 매개변수에 명시적으로 설정된 경우에만 표시됩니다 (예: 'YYYY-MM-DD HH24:MI:SS.FF').
반환값 (Returns)
현재 시스템 시간을 반환합니다. 반환 값의 데이터 타입은 TIMESTAMP_LTZ입니다.
사용 참고 사항 (Usage notes)
-
TIMEZONE 매개변수의 설정이 반환 값에 영향을 줍니다. 반환된 타임스탬프는 세션의 시간대에 있습니다.
-
TIMESTAMP_TYPE_MAPPING 매개변수의 설정은 반환 값에 영향을 주지 않습니다.
-
동시 쿼리(같은 가상 웨어하우스에서 처리) 간의 정밀한 시간 정렬에 반환 값을 사용하지 마세요. 쿼리는 웨어하우스의 서로 다른 컴퓨트 리소스에 의해 처리될 수 있기 때문입니다.
ANSI 표준을 준수하기 위해 이 함수는 SQL 문에서 괄호 없이 호출될 수 있습니다.
그러나 함수를 호출하는 표현식으로 Snowflake Scripting 변수를 설정하는 경우(예: my_var := CURRENT_TIMESTAMP();)에는 괄호를 포함해야 합니다. 자세한 내용은 context functions의 사용 참고 사항을 참고하세요.
별칭 SYSTIMESTAMP와 GETDATE는 CURRENT_TIMESTAMP와 다음 방식에서 다릅니다:
-
fract_sec_precision 인자를 지원하지 않습니다.
-
이 함수들은 괄호와 함께 호출해야 합니다.
예제 (Examples)
이 섹션의 예제들은 타임스탬프 출력 형식 YYYY-MM-DD HH24:MI:SS.FF를 사용합니다. 세션을 같은 출력 형식으로 구성하려면 다음 문을 실행하세요:
ALTER SESSION SET TIMESTAMP_OUTPUT_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF';
다른 정밀도 값으로 CURRENT_TIMESTAMP 함수 호출하기
소수 초 정밀도를 2로 설정해 현재 타임스탬프를 반환합니다:
SELECT CURRENT_TIMESTAMP(2);
+------------------------+
| CURRENT_TIMESTAMP(2) |
|------------------------|
| 2024-04-17 15:41:38.29 |
+------------------------+
소수 초 정밀도를 4로 설정해 현재 타임스탬프를 반환합니다:
SELECT CURRENT_TIMESTAMP(4);
+--------------------------+
| CURRENT_TIMESTAMP(4) |
|--------------------------|
| 2024-04-17 15:42:14.2100 |
+--------------------------+
소수 초 정밀도를 기본값(9)으로 설정해 현재 타임스탬프를 반환합니다:
SELECT CURRENT_TIMESTAMP;
+-------------------------------+
| CURRENT_TIMESTAMP |
|-------------------------------|
| 2024-04-17 15:42:55.130000000 |
+-------------------------------+
다른 TIMEZONE 설정으로 CURRENT_TIMESTAMP 함수 호출하기
TIMEZONE 매개변수를 America/New_York로 설정하고 CURRENT_TIMESTAMP 함수를 호출합니다:
ALTER SESSION SET TIMEZONE = 'America/New_York';
SELECT CURRENT_TIMESTAMP(2);
+------------------------+
| CURRENT_TIMESTAMP(2) |
|------------------------|
| 2025-08-11 14:16:43.57 |
+------------------------+
TIMEZONE 매개변수를 America/Los_Angeles로 설정하고 CURRENT_TIMESTAMP 함수를 호출합니다:
ALTER SESSION SET TIMEZONE = 'America/Los_Angeles';
SELECT CURRENT_TIMESTAMP(2);
+------------------------+
| CURRENT_TIMESTAMP(2) |
|------------------------|
| 2025-08-11 11:17:18.19 |
+------------------------+