- 카테고리:
TRY_TO_BINARY¶
TO_BINARY 의 특수 버전으로, 동일 작업을 수행하지만(즉, 입력 식을 이진 값으로 변환), 오류 처리를 지원합니다(즉, 변환을 수행할 수 없는 경우, 오류를 발생시키는 대신 NULL 값을 반환함).
자세한 내용은 다음을 참조하십시오.
구문¶
TRY_TO_BINARY( <string_expr> [, '<format>'] )
인자¶
필수:
string_expr
문자열 식입니다.
선택 사항:
format
변환을 위한 이진 형식: HEX, BASE64 또는 UTF-8(Binary Input and Output 참조). 기본값은 BINARY_INPUT_FORMAT 세션 매개 변수의 값입니다. 이 매개 변수가 설정되지 않은 경우, 기본값은 HEX입니다.
반환¶
BINARY 형식의 값을 반환합니다.
사용법 노트¶
문자열 식에서만 작동합니다.
format
이 지정되었지만 HEX, BASE64 또는 UTF-8이 아닌 경우, 결과는 NULL 값이 됩니다.
예¶
다음은 16진수로 인코딩된 문자열을 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 | +-------+--------------------+------------------------+