TRY_TO_DATE

TRY_TO_DATE (날짜 변환)

TO_DATE 함수의 특별한 버전으로, 동일한 작업(즉, 입력 표현식을 날짜로 변환)을 수행하지만 오류 처리 지원이 있어요(즉, 변환을 수행할 수 없으면 오류를 발생시키는 대신 NULL 값을 반환함).

자세한 내용은 Error-handling conversion functions를 참고해요.

참조: TO_DATE, DATE

출처: Snowflake SQL Reference - TRY_TO_DATE

본문

구문

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

TRY_TO_DATE( '<integer>' )

인자

필수:

다음 중 하나:

string_expr

날짜를 추출할 문자열이에요. 예: '2024-01-31'.

''

정수를 포함하는 문자열로 평가되는 표현식이에요. 예: '15000000'. 문자열의 크기에 따라 초, 밀리초, 마이크로초 또는 나노초로 해석될 수 있어요. 자세한 내용은 이 함수의 Usage notes를 참고해요.

선택:

format

string_expr에 대한 날짜 형식 지정자 또는 AUTO로, Snowflake가 사용할 형식을 자동으로 감지하도록 지정해요. 자세한 내용은 Date and time formats in conversion functions를 참고해요.

기본값은 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;
+------------+--------------+
| VALID_DATE | INVALID_DATE |
|------------+--------------|
| 2024-05-10 | NULL         |
+------------+--------------+

입력 표현식을 날짜로 변환하는 예시는 TO_DATE, DATE를 참고해요.

더 알아보기