MariaDB 函数

MariaDB UNHEX() 函数返回一个包含数字十六进制表示形式的字符串。对于字符串参数 str,此函数将参数中的每对字符解释为十六进制数字,并将其转换为该数字表示的字节。返回值将是一个二进制字符串。

参数字符串中的字符必须是合法的十六进制数字: '0' .. '9', 'A' .. 'F', 'a' 。 。 'F'。如果参数包含任何非十六进制数字,则结果将为 NULL。

对于数字参数 N,为 HEX(N) 的倒数不由UNHEX()执行。 HEX(N) 的逆运算可以通过使用 CONV() 函数和 CONV(UNHEX(N), 16, 10) 语法。

语法

UNHEX(str) 

参数

str必填。 指定要转换为二进制字符串的十六进制字符串。

返回值

返回二进制字符串。如果提供非十六进制数字,则该函数返回 NULL。

示例 1:

下面的示例显示了 UNHEX() 函数的用法。

示例 1:

下面的示例显示了 UNHEX() 函数的用法。

SELECT UNHEX('4D617269614442');
Result: 'MariaDB'

SELECT X'4D617269614442';
Result: 'MariaDB'

SELECT UNHEX(HEX('string'));
Result: 'string'

SELECT HEX(UNHEX('1267'));
Result: '1267'

SELECT UNHEX('GG');
Result: NULL 

示例 2:

考虑一个名为 Sample 的数据库表,其中包含以下记录:

Datastr
Data 14C6561726E696E67
Data 24D7953514C
Data 36973
Data 446756E
Data 5212E

下面给出的语句可用于转换str列的十六进制字符串。

SELECT *, UNHEX(str) AS UNHEX_Value FROM Sample; 

这将产生如下所示的结果:

DatastrUNHEX_Value
Data 14C6561726E696E67Learning
Data 24D7953514CMariaDB
Data 36973is
Data 446756EFun
Data 5212E!.