Categorias:

Funções de conversão

TO_BINARY

Converte a expressão de entrada em um valor binário. Para a entrada NULL, a saída será NULL.

Consulte também:

Sintaxe

TO_BINARY( <string_expr> [, '<format>'] )
TO_BINARY( <variant_expr> )
Copy

Retornos

O tipo de retorno é BINARY.

Argumentos

Obrigatório:

string_expr

Uma expressão de cadeia de caracteres.

Opcional:

format

O formato binário para conversão: HEX, BASE64 ou UTF-8 (consulte Binary Input and Output). O padrão é o valor do parâmetro de sessão BINARY_INPUT_FORMAT. Se este parâmetro não for definido, o padrão é HEX.

Retornos

Retorna um valor do tipo BINARY.

Exemplos

Estes exemplos mostram a saída quando TO_BINARY é chamado.

Este exemplo mostra como converter um VARCHAR em BINARY e depois recuperá-lo em sua forma original (VARCHAR).

Criar e preencher uma tabela:

CREATE TABLE binary_test (v VARCHAR, b BINARY);
INSERT INTO binary_test(v) VALUES ('SNOW');
Copy

Converter VARCHAR em BINARY:

UPDATE binary_test SET b = TO_BINARY(HEX_ENCODE(v), 'HEX');
Copy

Executar uma consulta e mostrar a saída:

SELECT v, HEX_DECODE_STRING(TO_VARCHAR(b, 'HEX')) FROM binary_test;
+------+-----------------------------------------+
| V    | HEX_DECODE_STRING(TO_VARCHAR(B, 'HEX')) |
|------+-----------------------------------------|
| SNOW | SNOW                                    |
+------+-----------------------------------------+
Copy

Este exemplo mostra como converter uma cadeia de caracteres UTF-8 em BINARY. Note que por padrão SNOWSQL mostra os valores BINARY como uma cadeia de caracteres de dígitos hexadecimais, não no formato UTF-8 e não no formato interno BINARY.

SELECT TO_BINARY('SNOW', 'utf-8');
+----------------------------+
| TO_BINARY('SNOW', 'UTF-8') |
|----------------------------|
| 534E4F57                   |
+----------------------------+
Copy

Este exemplo é o mesmo que o exemplo anterior, exceto que este exemplo converte explicitamente a saída em dígitos hexadecimais de modo que é mais óbvio que a saída seja uma cadeia de caracteres contendo dígitos hexadecimais:

SELECT TO_VARCHAR(TO_BINARY('SNOW', 'utf-8'), 'HEX');
+-----------------------------------------------+
| TO_VARCHAR(TO_BINARY('SNOW', 'UTF-8'), 'HEX') |
|-----------------------------------------------|
| 534E4F57                                      |
+-----------------------------------------------+
Copy