类别:

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

HEX_DECODE_STRING

将十六进制编码的字符串解码为字符串。

另请参阅:

TRY_HEX_DECODE_STRING

语法

HEX_DECODE_STRING(<input>)
Copy

实参

input

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

返回

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

示例

以下代码将十六进制数字序列解码为相应的单词:

SELECT HEX_DECODE_STRING('536E6F77666C616B65');

-----------------------------------------+
 HEX_DECODE_STRING('536E6F77666C616B65') |
-----------------------------------------+
 Snowflake                               |
-----------------------------------------+
Copy

十六进制数字 A-F 可以是大写或小写。以下语句使用小写字母,但产生的结果与前面的语句相同:

SELECT HEX_DECODE_STRING('536e6f77666c616b65');

-----------------------------------------+
 HEX_DECODE_STRING('536E6F77666C616B65') |
-----------------------------------------+
 Snowflake                               |
-----------------------------------------+
Copy

此示例显示了使用 HEX_DECODE_STRING 的另一个示例:

创建表和数据:

CREATE TABLE binary_table (v VARCHAR, b BINARY);
INSERT INTO binary_table (v, b) 
    SELECT 'HELLO', HEX_DECODE_BINARY(HEX_ENCODE('HELLO'));
Copy

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

SELECT v, b, HEX_DECODE_STRING(TO_VARCHAR(b)) FROM binary_table;
+-------+------------+----------------------------------+
| V     | B          | HEX_DECODE_STRING(TO_VARCHAR(B)) |
|-------+------------+----------------------------------|
| HELLO | 48454C4C4F | HELLO                            |
+-------+------------+----------------------------------+
Copy
语言: 中文