카테고리:

문자열 및 이진 함수 (인코딩/디코딩)

TRY_HEX_DECODE_BINARY

디코딩 중 오류가 발생하면 NULL 값을 반환하는 HEX_DECODE_BINARY 의 특수 버전입니다.

구문

TRY_HEX_DECODE_BINARY(<input>) 
Copy

인자

input

16진수만 포함하는 문자열 식입니다. 일반적으로 이 입력 문자열은 HEX_ENCODE 함수를 호출하여 생성됩니다.

반환

BINARY 값으로, 예를 들어 BINARY 형식의 열에 삽입할 수 있는 값입니다.

이는 TRY_HEX_DECODE_BINARY 함수 사용 방법을 보여줍니다(함수는 BINARY 필드 디코딩하기 위해 INSERT 문에서 사용되며, 함수가 SELECT 문에서 사용되지 않음에 유의).

테이블과 데이터를 만듭니다.

CREATE TABLE hex (v VARCHAR, b BINARY); INSERT INTO hex (v, b) SELECT 'ABab', -- Convert string -> hex-encoded string -> binary. TRY_HEX_DECODE_BINARY(HEX_ENCODE('ABab')); 
Copy

이제 쿼리를 실행하여 데이터를 그대로 검색할 수 있음을 보여줍니다.

SELECT v, b, -- Convert binary -> hex-encoded-string -> string. TRY_HEX_DECODE_STRING(TO_VARCHAR(b)) FROM hex; 
Copy

출력:

+------+----------+--------------------------------------+ | V | B | TRY_HEX_DECODE_STRING(TO_VARCHAR(B)) | |------+----------+--------------------------------------| | ABab | 41426162 | ABab | +------+----------+--------------------------------------+ 
Copy