- 类别:
字符串和二进制函数 (编码/解码)
TRY_HEX_DECODE_BINARY¶
HEX_DECODE_BINARY 的特殊版本,如果在解码过程中发生错误,它会返回 NULL 值。
语法¶
TRY_HEX_DECODE_BINARY(<input>)
实参¶
input
仅包含十六进制数字的字符串表达式。通常,此输入字符串是通过调用 HEX_ENCODE 函数生成的。
返回¶
例如,可以在类型 BINARY
的列中插入的 BINARY
值。
示例¶
这显示了如何使用函数 TRY_HEX_DECODE_BINARY``(请注意,该函数在 ``INSERT
语句中用于解码 为 BINARY 字段;该函数未在 SELECT
语句中使用):
创建表和数据:
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'));现在运行一个查询,以显示我们可以完整地检索数据:
SELECT v, b, -- Convert binary -> hex-encoded-string -> string. TRY_HEX_DECODE_STRING(TO_VARCHAR(b)) FROM hex;输出:
+------+----------+--------------------------------------+ | V | B | TRY_HEX_DECODE_STRING(TO_VARCHAR(B)) | |------+----------+--------------------------------------| | ABab | 41426162 | ABab | +------+----------+--------------------------------------+