카테고리:

변환 함수 , 날짜 및 시간 함수

TRY_TO_DATE

TO_DATE , DATE 의 특수 버전으로, 동일 작업을 수행하지만(즉, 입력 식을 날짜로 변환), 오류 처리를 지원합니다(즉, 변환을 수행할 수 없는 경우, 오류를 발생시키는 대신 NULL 값을 반환함).

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

참고 항목:

TO_DATE , DATE

구문

TRY_TO_DATE( <string_expr> [, <format> ] )
TRY_TO_DATE( '<integer>' )

인자

필수:

다음 중 하나:

string_expr

날짜를 추출할 문자열입니다(예: 〈2019-01-31〉).

'integer'

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

참고

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

선택 사항:

format

string_expr 또는 AUTO 에 대한 날짜 형식 지정자이며, 이는 사용할 형식을 Snowflake가 자동으로 감지하도록 지정합니다. 자세한 내용은 변환 함수의 날짜 및 시간 형식 섹션을 참조하십시오.

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

반환

반환된 값의 데이터 타입은 DATE 입니다.

사용법 노트

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

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

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

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

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

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

      조심

      현재, 음수 값은 항상 초로 처리됩니다. 예를 들어, -31536000000000000000은 1970년 이전의 초 단위 수로 처리되지만, 해당 스케일은 나노초로 사용하도록 의도되었음을 의미합니다.

      이 동작은 나중에 변경될 수 있습니다.

      참고

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

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

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

SELECT TRY_TO_DATE('2018-09-15'), TRY_TO_DATE('Invalid');
+---------------------------+------------------------+
| TRY_TO_DATE('2018-09-15') | TRY_TO_DATE('INVALID') |
|---------------------------+------------------------|
| 2018-09-15                | NULL                   |
+---------------------------+------------------------+
맨 위로 이동