TRY_TO_TIME
TRY_TO_TIME
TO_TIME, TIME의 오류 처리 버전이에요. 입력 표현식을 시간(time)으로 변환하는 같은 작업을 하지만, 변환할 수 없으면 오류를 내는 대신 NULL 값을 반환해요.
출처: 공식 문서
본문
TO_TIME, TIME의 특별한 버전으로, 입력 표현식을 시간으로 변환하는 동일한 작업을 수행하지만 오류 처리 지원(즉 변환을 수행할 수 없으면 오류를 발생시키는 대신 NULL 값을 반환)을 가집니다.
자세한 내용은 Error-handling conversion functions를 참고하세요.
참고 (See also): TO_TIME , TIME
구문 (Syntax)
TRY_TO_TIME( <string_expr> [, <format> ] )
TRY_TO_TIME( '<integer>' )
인자 (Arguments)
필수 (Required): 다음 중 하나:
string_expr
유효한 시간으로 변환할 수 있는 문자열입니다.
'integer'
정수를 포함하는 문자열로 평가되는 표현식(예: '15000000'). 문자열의 크기에 따라 초, 밀리초, 마이크로초 또는 나노초로 해석될 수 있습니다. 자세한 내용은 사용 참고를 참고하세요.
선택 (Optional):
format
string_expr에 대한 형식 지정자 또는 AUTO입니다. 자세한 내용은 변환 함수의 날짜·시간 형식을 참고하세요. 기본값은 TIME_INPUT_FORMAT 세션 매개변수의 현재 값(기본 AUTO)입니다.
반환값 (Returns)
반환값의 데이터 타입은 TIME입니다.
사용 참고 (Usage notes)
- 출력에서 시간의 표시 형식은 TIME_OUTPUT_FORMAT 세션 매개변수(기본
HH24:MI:SS)에 의해 결정됩니다. - 입력 매개변수의 형식이 정수를 포함하는 문자열이면, 값의 측정 단위(초, 마이크로초, 밀리초 또는 나노초)는 다음과 같이 결정됩니다:
- 문자열이 정수로 변환된 뒤, 그 정수는 Unix epoch(1970-01-01 00:00:00.000000000 UTC) 이후의 초, 밀리초, 마이크로초 또는 나노초 수로 취급됩니다.
- 정수가 31536000000(1년의 밀리초 수) 미만이면, 값은 초의 수로 취급됩니다.
- 값이 31536000000 이상이고 31536000000000 미만이면, 값은 밀리초로 취급됩니다.
- 값이 31536000000000 이상이고 31536000000000000 미만이면, 값은 마이크로초로 취급됩니다.
- 값이 31536000000000000 이상이면, 값은 나노초로 취급됩니다.
- 둘 이상의 행이 평가되면(예를 들어 입력이 둘 이상의 행을 포함하는 테이블의 컬럼 이름이면), 각 값은 독립적으로 검사되어 그 값이 초, 밀리초, 마이크로초 또는 나노초를 나타내는지 결정됩니다.
- 문자열이 정수로 변환된 뒤, 그 정수는 Unix epoch(1970-01-01 00:00:00.000000000 UTC) 이후의 초, 밀리초, 마이크로초 또는 나노초 수로 취급됩니다.
예제 (Examples)
다음 예제는 TRY_TO_TIME을 사용합니다:
SELECT TRY_TO_TIME('12:30:00'), TRY_TO_TIME('Invalid');
+-------------------------+------------------------+
| TRY_TO_TIME('12:30:00') | TRY_TO_TIME('INVALID') |
|-------------------------+------------------------|
| 12:30:00 | NULL |
+-------------------------+------------------------+
입력 표현식을 시간으로 변환하는 예제는 TO_TIME, TIME을 참고하세요.