类别:

字符串和二进制函数 (编码/解码)

TRY_HEX_DECODE_BINARY

HEX_DECODE_BINARY 的特殊版本,如果在解码过程中发生错误,它会返回 NULL 值。

语法

TRY_HEX_DECODE_BINARY(<input>)
Copy

实参

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'));
Copy

现在运行一个查询,以显示我们可以完整地检索数据:

SELECT v, b, 
    -- Convert binary -> hex-encoded-string -> string.
    TRY_HEX_DECODE_STRING(TO_VARCHAR(b)) 
  FROM hex;
Copy

输出:

+------+----------+--------------------------------------+
| V    | B        | TRY_HEX_DECODE_STRING(TO_VARCHAR(B)) |
|------+----------+--------------------------------------|
| ABab | 41426162 | ABab                                 |
+------+----------+--------------------------------------+
Copy
语言: 中文