카테고리:

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

HEX_DECODE_BINARY

16진수로 인코딩된 문자열을 이진으로 디코딩합니다.

참고 항목:

TRY_HEX_DECODE_BINARY

구문

HEX_DECODE_BINARY(<input>)
Copy

인자

input

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

반환

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

문자열로 시작합니다. 16진수를 나타내는 문자로 인코딩합니다. 그런 다음 HEX_DECODE_BINARY 를 사용하여 해당 16진수 문자를 BINARY로 변환합니다.

테이블을 만들고 채웁니다.

CREATE TABLE binary_table (v VARCHAR, b BINARY);
INSERT INTO binary_table (v, b) 
    SELECT 'HELLO', HEX_DECODE_BINARY(HEX_ENCODE('HELLO'));
Copy

이제 BINARY 값을 검색하고 원래 문자열로 표시합니다(출력의 세 번째 열에 있음).

SELECT v, b, HEX_DECODE_STRING(TO_VARCHAR(b)) FROM binary_table;
+-------+------------+----------------------------------+
| V     | B          | HEX_DECODE_STRING(TO_VARCHAR(B)) |
|-------+------------+----------------------------------|
| HELLO | 48454C4C4F | HELLO                            |
+-------+------------+----------------------------------+
Copy

16진수로 인코딩된 이진을 디코딩합니다(MD5_BINARY의 출력).

SELECT HEX_DECODE_BINARY(HEX_ENCODE(MD5_BINARY('Snowflake')));

--------------------------------------------------------+
 HEX_DECODE_BINARY(HEX_ENCODE(MD5_BINARY('SNOWFLAKE'))) |
--------------------------------------------------------+
 EDF1439075A83A447FB8B630DDC9C8DE                       |
--------------------------------------------------------+
Copy