SYSDATE

SYSDATE (시스템 날짜/시간)

UTC 시간대의 시스템 현재 타임스탬프를 반환해요.

출처: Snowflake SQL Reference - SYSDATE

본문

구문

SYSDATE()

인자

없음.

반환 값

UTC 시간대의 현재 타임스탬프를 반환해요.

반환 값의 데이터 타입은 TIMESTAMP_NTZ예요.

사용 참고 사항

  • 이름과 달리 이 함수는 DATE가 아니라 TIMESTAMP_NTZ를 반환해요. 출력 형식을 제어하려면 세션 매개변수 TIMESTAMP_NTZ_OUTPUT_FORMAT을 사용해요.
  • 이 함수는 CURRENT_TIMESTAMP와 비슷하지만 다음 차이점이 있어요:
    • UTC 시간대의 현재 타임스탬프를 반환하는 반면, CURRENT_TIMESTAMP는 로컬 시간대의 타임스탬프를 반환해요.
    • 반환 값이 TIMESTAMP_NTZ인 반면, CURRENT_TIMESTAMP는 TIMESTAMP_LTZ를 반환해요.
    • 괄호가 필요해요(SYSDATE()), 반면 CURRENT_TIMESTAMP는 괄호 없이 호출할 수 있어요.
    • 분수 초의 정밀도를 지정하는 매개변수를 지원하지 않아요.
  • 반환 값을 (같은 가상 웨어하우스에서 처리되는) 동시 쿼리 사이의 정밀한 시간 순서에 사용하지 마세요. 쿼리가 웨어하우스 안에서 서로 다른 컴퓨팅 리소스에 의해 처리될 수 있기 때문이에요.

예시

시간 출력 형식을 YYYY-MM-DD HH24:MI:SS.FF4로 설정한 뒤 SYSDATE와 CURRENT_TIMESTAMP를 반환해요. 시간대 차이로 인해 시간 필드의 차이를 확인할 수 있어요.

ALTER SESSION SET TIMESTAMP_NTZ_OUTPUT_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF4';
ALTER SESSION SET TIMESTAMP_LTZ_OUTPUT_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF4';

ALTER SESSION SET TIMEZONE = 'America/Los_Angeles';

SELECT SYSDATE(), CURRENT_TIMESTAMP();
+--------------------------+--------------------------+
| SYSDATE()                | CURRENT_TIMESTAMP()      |
|--------------------------+--------------------------|
| 2024-04-17 22:47:54.3520 | 2024-04-17 15:47:54.3520 |
+--------------------------+--------------------------+

더 알아보기