类别:

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

TRY_HEX_DECODE_STRING

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

语法

TRY_HEX_DECODE_STRING(<input>)
Copy

实参

input

十六进制编码的字符串表达式。通常,输入通过调用 HEX_ENCODE 创建。

返回

返回值是一个字符串 (VARCHAR)。

示例

这显示了该函数的使用方法:

创建表和数据:

CREATE TABLE hex (v VARCHAR, hex_string VARCHAR, garbage VARCHAR);
INSERT INTO hex (v, hex_string, garbage) 
  SELECT 'AaBb', HEX_ENCODE('AaBb'), '127';
Copy

现在运行查询:

SELECT v, hex_string, TRY_HEX_DECODE_STRING(hex_string), TRY_HEX_DECODE_STRING(garbage) FROM hex;
Copy

输出:

+------+------------+-----------------------------------+--------------------------------+
| V    | HEX_STRING | TRY_HEX_DECODE_STRING(HEX_STRING) | TRY_HEX_DECODE_STRING(GARBAGE) |
|------+------------+-----------------------------------+--------------------------------|
| AaBb | 41614262   | AaBb                              | NULL                           |
+------+------------+-----------------------------------+--------------------------------+
Copy
语言: 中文