카테고리:

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

TRY_HEX_DECODE_STRING

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

구문

TRY_HEX_DECODE_STRING(<input>)
Copy

인자

input

16진수로 인코딩된 문자열 식입니다. 일반적으로 입력은 HEX_ENCODE 에 대한 호출에 의해 만들어졌습니다.

반환

반환된 값은 문자열(VARCHAR)입니다.

이는 함수를 사용하는 방법을 보여줍니다.

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

CREATE TABLE hex (v VARCHAR, hex_string VARCHAR, garbage VARCHAR);
INSERT INTO hex (v, hex_string, garbage) 
  SELECT 'AaBb', HEX_ENCODE('AaBb'), '127';
Copy

이제 쿼리를 실행합니다.

SELECT v, hex_string, TRY_HEX_DECODE_STRING(hex_string), TRY_HEX_DECODE_STRING(garbage) FROM hex;
Copy

출력:

+------+------------+-----------------------------------+--------------------------------+
| V    | HEX_STRING | TRY_HEX_DECODE_STRING(HEX_STRING) | TRY_HEX_DECODE_STRING(GARBAGE) |
|------+------------+-----------------------------------+--------------------------------|
| AaBb | 41614262   | AaBb                              | NULL                           |
+------+------------+-----------------------------------+--------------------------------+
Copy