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

时间:2014-05-09 08:02:47

标签: mysql

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

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

2 个答案:

答案 0 :(得分:0)

答案是:

select CAST(unhex('hexstringhere') AS CHAR(100))

通过反复试验弄明白。

答案 1 :(得分:-1)

使用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'

字体:http://dev.mysql.com/doc/refman/5.1/en/string-functions.html#function_unhex