Categorias:

Funções de cadeia de caracteres e binários (Codificação/Decodificação)

TRY_HEX_DECODE_STRING

Uma versão especial de HEX_DECODE_STRING que retorna um valor NULL se ocorrer um erro durante a decodificação.

Sintaxe

TRY_HEX_DECODE_STRING(<input>)
Copy

Argumentos

input

Uma expressão de cadeia de caracteres codificada em hexadecimal. Normalmente, a entrada foi criada por uma chamada para HEX_ENCODE.

Retornos

O valor retornado é uma cadeia de caracteres (VARCHAR).

Exemplos

Isso mostra como usar a função:

Criar uma tabela e dados:

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

Agora executar a consulta:

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

Saída:

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