카테고리:

변환 함수

TRY_TO_TIMESTAMP / TRY_TO_TIMESTAMP_*

TO_TIMESTAMP / TO_TIMESTAMP_* 의 특수 버전으로, 동일 작업을 수행하지만(즉, 입력 식을 타임스탬프로 변환), 오류 처리를 지원합니다(즉, 변환을 수행할 수 없는 경우, 오류를 발생시키는 대신 NULL 값을 반환함).

자세한 내용은 오류 처리 변환 함수 섹션을 참조하십시오.

참고

TRY_TO_TIMESTAMP는 TIMESTAMP_TYPE_MAPPING 세션 매개 변수를 기반으로 다른 타임스탬프 함수 중 하나에 매핑됩니다. 매개 변수 기본값은 TIMESTAMP_NTZ이므로 TRY_TO_TIMESTAMP는 기본적으로 TRY_TO_TIMESTAMP_NTZ에 매핑됩니다.

참고 항목:

TO_TIMESTAMP / TO_TIMESTAMP_*

구문

timestampFunction ( <string_expr> [, <format> ] )
timestampFunction ( '<integer>' )
Copy

여기서:

timestampFunction ::=
    TRY_TO_TIMESTAMP | TRY_TO_TIMESTAMP_LTZ | TRY_TO_TIMESTAMP_NTZ | TRY_TO_TIMESTAMP_TZ
Copy

인자

필수:

다음 중 하나:

string_expr

인자는 TIMESTAMP(TIMESTAMP_NTZ, TIMESTAMP_LTZ 또는 TIMESTAMP_TZ)로 평가할 수 있는 문자열이어야 합니다.

'integer'

정수를 포함하는 문자열 로 평가되는 식입니다(예: ‘15000000’). 문자열의 크기에 따라 초, 밀리초, 마이크로초 또는 나노초로 해석될 수 있습니다. 자세한 내용은 아래의 사용법 노트 를 참조하십시오.

참고

인용된 정수를 입력으로 사용하는 것은 더 이상 가능하지 않습니다.

선택 사항:

format

string_expr 또는 AUTO 에 대한 형식 지정자입니다. 자세한 내용은 변환 함수의 날짜 및 시간 형식 섹션을 참조하십시오.

기본값은 TIMESTAMP_INPUT_FORMAT 세션 매개 변수의 현재 값입니다(일반적으로 AUTO).

반환

반환된 값의 데이터 타입은 TIMESTAMP 데이터 타입 중 하나입니다. 기본적으로 데이터 타입은 TIMESTAMP_NTZ 입니다. TIMESTAMP_TYPE_MAPPING 세션 매개 변수를 설정하여 이를 변경할 수 있습니다.

사용법 노트

  • 입력 매개 변수의 형식이 정수를 포함하는 문자열인 경우:

    • 문자열이 정수로 변환된 후 정수는 Unix epoch(1970-01-01 00:00:00.000000000 UTC) 시작 후의 초, 밀리초, 마이크로초 또는 나노초 단위 수로 처리됩니다.

      • 정수가 31536000000(1년의 밀리초 단위 수) 미만인 경우, 값은 초 단위 수로 처리됩니다.

      • 값이 31536000000 이상이고 31536000000000 미만인 경우, 값은 밀리초로 처리됩니다.

      • 값이 31536000000000 이상이고 31536000000000000 미만인 경우, 값은 마이크로초로 처리됩니다.

      • 값이 31536000000000000보다 큰 경우, 값은 나노초로 처리됩니다.

      참고

      사용 중단 경고: Snowflake의 향후 버전은 문자열화된 정수 값을 밀리초, 마이크로초 또는 나노초가 아닌 초로 자동 해석할 수 있습니다. Snowflake는 정수가 초로 해석되도록 의도된 경우에만, 해당 정수를 포함하는 문자열로 TO_DATE, TO_TIME, 또는 TO_TIMESTAMP를 호출할 것을 권장합니다.

    • 둘 이상의 행이 평가되는 경우(예: 입력이 둘 이상의 행을 포함하는 테이블의 열 이름인 경우), 각각의 값을 독립적으로 검사해 값이 초, 밀리초, 마이크로초 또는 나노초를 나타내는지 확인합니다.

이는 TRY_TO_TIMESTAMP 사용법을 보여줍니다.

SELECT TRY_TO_TIMESTAMP('2018-09-15 12:30:00'), TRY_TO_TIMESTAMP('Invalid');
+-----------------------------------------+-----------------------------+
| TRY_TO_TIMESTAMP('2018-09-15 12:30:00') | TRY_TO_TIMESTAMP('INVALID') |
|-----------------------------------------+-----------------------------|
| 2018-09-15 12:30:00.000                 | NULL                        |
+-----------------------------------------+-----------------------------+
Copy