- 类别:
TO_BINARY¶
将输入表达式转换为二进制值。对于 NULL 输入,输出为 NULL。
另请参阅:
语法¶
TO_BINARY( <string_expr> [, '<format>'] )
TO_BINARY( <variant_expr> )
返回¶
返回类型为 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');将
VARCHAR
转换为BINARY
:UPDATE binary_test SET b = TO_BINARY(HEX_ENCODE(v), 'HEX');运行查询并显示输出:
SELECT v, HEX_DECODE_STRING(TO_VARCHAR(b, 'HEX')) FROM binary_test; +------+-----------------------------------------+ | V | HEX_DECODE_STRING(TO_VARCHAR(B, 'HEX')) | |------+-----------------------------------------| | SNOW | SNOW | +------+-----------------------------------------+
此示例演示如何将 UTF-8 字符的字符串转换为 BINARY
。请注意,默认情况下 SNOWSQL 将 BINARY
值显示为十六进制数字的字符串,而不是显示为 UTF-8 格式和内部 BINARY
格式。
SELECT TO_BINARY('SNOW', 'utf-8'); +----------------------------+ | TO_BINARY('SNOW', 'UTF-8') | |----------------------------| | 534E4F57 | +----------------------------+
此示例与前面的示例相同,只是此示例显式将输出转换为十六进制数字,以便更明显地指示输出是包含十六进制数字的字符串:
SELECT TO_VARCHAR(TO_BINARY('SNOW', 'utf-8'), 'HEX'); +-----------------------------------------------+ | TO_VARCHAR(TO_BINARY('SNOW', 'UTF-8'), 'HEX') | |-----------------------------------------------| | 534E4F57 | +-----------------------------------------------+