Categorias:

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

TRY_HEX_DECODE_BINARY

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

Sintaxe

TRY_HEX_DECODE_BINARY(<input>)
Copy

Argumentos

input

Uma expressão de cadeia de caracteres contendo apenas dígitos hexadecimais. Normalmente, esta cadeia de caracteres de entrada é gerada pela chamada da função HEX_ENCODE.

Retornos

Um valor BINARY que pode, por exemplo, ser inserido em uma coluna do tipo BINARY.

Exemplos

Isto mostra como usar a função TRY_HEX_DECODE_BINARY (note que a função é usada na instrução INSERT para decodificar em um campo BINARY; a função não é usada na instrução SELECT):

Criar uma tabela e dados:

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

Agora faça uma consulta para mostrar que podemos recuperar os dados intactos:

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

Saída:

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