在MySQL中将十六进制文本转换为常规字符串?

在MySQL中将十六进制文本转换为常规字符串?,mysql,Mysql,如何在MySQL中将十六进制文本转换为常规可读(varchar)字符串 我见过一些将十六进制转换为数字的函数,但没有转换为字符串的函数。答案是: select CAST(unhex('hexstringhere') AS CHAR(100)) 通过反复试验找到了答案。使用UNHEX功能 对于字符串参数str,UNHEX(str)将参数中的每对字符解释为十六进制数,并将其转换为该数字表示的字节。返回值是一个二进制字符串 mysql> SELECT UNHEX('4D7953514C');

如何在MySQL中将十六进制文本转换为常规可读(varchar)字符串

我见过一些将十六进制转换为数字的函数,但没有转换为字符串的函数。

答案是:

select CAST(unhex('hexstringhere') AS CHAR(100))
通过反复试验找到了答案。

使用UNHEX功能

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

mysql> SELECT UNHEX('4D7953514C');
        -> 'MySQL'
mysql> SELECT 0x4D7953514C;
        -> 'MySQL'
mysql> SELECT UNHEX(HEX('string'));
        -> 'string'
mysql> SELECT HEX(UNHEX('1267'));
        -> '1267'

Font:

尝试回答这个问题:刚刚找到了我自己的答案。通过反复试验找到了答案。顺便说一句,这是对MSSQL版本的要求。这是MySQL的。