- 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>)
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'));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;Saída:
+------+----------+--------------------------------------+ | V | B | TRY_HEX_DECODE_STRING(TO_VARCHAR(B)) | |------+----------+--------------------------------------| | ABab | 41426162 | ABab | +------+----------+--------------------------------------+