类别:

转换函数

TO_BINARY

将输入表达式转换为二进制值。对于 NULL 输入,输出为 NULL。

另请参阅:

语法

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

返回

返回类型为 BINARY。

实参

必填:

string_expr

字符串表达式。

可选:

format

用于转换的二进制格式:HEX、BASE64 或 UTF-8(请参阅 Binary Input and Output)。默认值为 BINARY_INPUT_FORMAT 会话参数的值。如果未设置此参数,则默认值为 HEX。

返回

返回类型 BINARY 的值。

示例

这些示例显示了调用 TO_BINARY 时的输出。

此示例演示如何将 VARCHAR 转换为 BINARY,然后将其恢复为原始形式 (VARCHAR)。

创建并填写表:

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

VARCHAR 转换为 BINARY

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

运行查询并显示输出:

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

此示例演示如何将 UTF-8 字符的字符串转换为 BINARY。请注意,默认情况下 SNOWSQL 将 BINARY 值显示为十六进制数字的字符串,而不是显示为 UTF-8 格式和内部 BINARY 格式。

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

此示例与前面的示例相同,只是此示例显式将输出转换为十六进制数字,以便更明显地指示输出是包含十六进制数字的字符串:

SELECT TO_VARCHAR(TO_BINARY('SNOW', 'utf-8'), 'HEX');
+-----------------------------------------------+
| TO_VARCHAR(TO_BINARY('SNOW', 'UTF-8'), 'HEX') |
|-----------------------------------------------|
| 534E4F57                                      |
+-----------------------------------------------+
Copy
语言: 中文