카테고리:

변환 함수

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 세션 매개 변수를 설정하여 이를 변경할 수 있습니다.

사용법 노트

  • 타임존이 있는 타임스탬프의 경우 TIMEZONE 매개 변수의 설정이 반환 값에 영향을 줍니다. 반환된 타임스탬프는 세션의 타임존에 있습니다.

  • 출력의 타임스탬프 표시 형식은 함수(TIMESTAMP_OUTPUT_FORMAT, TIMESTAMP_LTZ_OUTPUT_FORMAT, TIMESTAMP_NTZ_OUTPUT_FORMAT 또는 TIMESTAMP_TZ_OUTPUT_FORMAT)에 해당하는 타임스탬프 출력 형식에 따라 결정됩니다.

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

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

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

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

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

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

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

  • TO_TIMESTAMP_NTZ 또는 TRY_TO_TIMESTAMP_NTZ 함수를 사용하여 타임존 정보가 포함된 타임스탬프를 변환하면 타임존 정보가 손실됩니다. 타임스탬프가 타임존 정보가 포함된 타임스탬프로 다시 변환되면(예를 들어, TO_TIMESTAMP_TZ 함수를 사용하여) 타임존 정보를 복구할 수 없습니다.

이 예제에서는 TRY_TO_TIMESTAMP를 사용합니다.

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

입력 식을 타임스탬프로 변환하는 예제는 TO_TIMESTAMP / TO_TIMESTAMP_* 를 참조하십시오.