TRY_TO_BINARY
TRY_TO_BINARY
TO_BINARY의 특수한 버전으로, 동일한 연산(입력 표현식을 이진 값으로 변환)을 수행하지만 오류 처리 지원이 포함돼 있어요 (즉, 변환을 수행할 수 없으면 오류를 발생시키는 대신 NULL 값을 반환).
자세한 내용은 다음 문서를 참고해요:
- 오류 처리 변환 함수(Error-handling conversion functions)
- TO_BINARY
- 이진 입력 및 출력(Binary input and output)
본문
구문 (Syntax)
TRY_TO_BINARY( [, ''] )
인자 (Arguments)
필수:
string_expr— 문자열 표현식이에요.
선택:
format— 변환을 위한 이진 형식: HEX, BASE64, 또는 UTF-8 (이진 입력 및 출력 문서 참고). 기본값은 BINARY_INPUT_FORMAT 세션 매개변수의 값이에요. 이 매개변수가 설정되지 않으면 기본값은 HEX예요.
반환 값 (Returns)
BINARY 타입의 값을 반환해요.
사용 노트 (Usage Notes)
- 문자열 표현식에서만 작동해요.
format이 지정됐지만 HEX, BASE64, UTF-8이 아니면 결과는 NULL 값이에요.
예제 (Examples)
hex로 인코딩된 문자열을 BINARY 컬럼에 로드할 때 TRY_TO_BINARY 함수를 사용하는 방법을 보여줘요:
테이블을 만들고 채우기:
CREATE TABLE strings (v VARCHAR, hex_encoded_string VARCHAR, b BINARY);
INSERT INTO strings (v) VALUES
('01'),
('A B'),
('Hello'),
(NULL);
UPDATE strings SET hex_encoded_string = HEX_ENCODE(v);
UPDATE strings SET b = TRY_TO_BINARY(hex_encoded_string, 'HEX');
테이블을 쿼리하며 TRY_TO_BINARY() 호출:
SELECT v, hex_encoded_string, TO_VARCHAR(b, 'UTF-8')
FROM strings
ORDER BY v
;
+-------+--------------------+------------------------+
| V | HEX_ENCODED_STRING | TO_VARCHAR(B, 'UTF-8') |
|-------+--------------------+------------------------|
| 01 | 3031 | 01 |
| A B | 412042 | A B |
| Hello | 48656C6C6F | Hello |
| NULL | NULL | NULL |
+-------+--------------------+------------------------+
더 알아보기
- Snowflake 변환 함수 — 관련 변환 함수 전체 목록