카테고리:

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

TRY_TO_DATE

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

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

참고 항목:

TO_DATE , DATE

구문

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

인자

필수:

다음 중 하나:

string_expr

날짜를 추출할 문자열입니다. 예를 들어 '2024-01-31' 과 같습니다.

'integer'

정수가 포함된 문자열로 평가되는 식입니다. 예를 들어 '15000000' 과 같습니다. 문자열의 크기에 따라 초, 밀리초, 마이크로초 또는 나노초로 해석될 수 있습니다. 이 함수에 대한 자세한 내용은 사용법 노트 를 참조하십시오.

선택 사항:

format

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

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

반환

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

사용법 노트

  • 출력에서 날짜의 표시 형식은 DATE_OUTPUT_FORMAT 세션 매개 변수(기본값 YYYY-MM-DD)에 의해 결정됩니다.

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

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

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

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

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

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

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

다음 예제에서는 TRY_TO_DATE 함수를 사용합니다.

SELECT 
  TRY_TO_DATE('2024-05-10') AS valid_date, 
  TRY_TO_DATE('Invalid') AS invalid_date;
Copy
+------------+--------------+
| VALID_DATE | INVALID_DATE |
|------------+--------------|
| 2024-05-10 | NULL         |
+------------+--------------+

입력 식을 날짜로 변환하는 예제는 TO_DATE , DATE 를 참조하십시오.