Categories:

Conversion functions

TO_BINARY

Converts the input expression to a binary value. For NULL input, the output is NULL.

See also:

Syntax

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

Returns

The return type is BINARY.

Arguments

Required:

string_expr

A string expression.

Optional:

format

The binary format for conversion: HEX, BASE64, or UTF-8 (see Binary input and output). The default is the value of the BINARY_INPUT_FORMAT session parameter. If this parameter is not set, the default is HEX.

Returns

Returns a value of type BINARY.

Examples

These examples show the output when TO_BINARY is called.

This example shows how to convert a VARCHAR to BINARY and then get it back in its original form (VARCHAR).

Create and fill a table:

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

Convert the VARCHAR to BINARY:

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

Run a query and show the output:

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

This example shows how to convert a string of UTF-8 characters into BINARY. Note that by default SNOWSQL shows BINARY values as a string of hexadecimal digits, not in UTF-8 and not in the internal BINARY format.

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

This example is the same as the preceding example, except that this example explicitly converts the output to hexadecimal digits so that it is more obvious that the output is a string containing hexadecimal digits:

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