在mySQL中将十六进制字符串转换为数字

时间:2012-06-04 22:08:17

标签: mysql hex varchar

我有一个值为'11B3'的列。我想编写一个SQL语句(在mySQL中),该值为和(&),其值为0x1880并返回结果。我无法将字符串列视为十六进制数。如果有任何帮助,我将不胜感激。

这不起作用:

select szVersion,  hex(szVersion), concat("0x",szVersion)

这可以根据需要运行(但不从数据库中提取:

select 0x11bx & 0x1880

2 个答案:

答案 0 :(得分:5)

使用 CONV(szVersion,16,10)。以下证明它按预期工作。

您写道,您希望与以下语句的结果具有相同的结果:

var mytr = document.getElementById("mytr");
var mydiv = document.getElementById("mydiv");

mydiv.onmouseenter = function() {
    mytr.style.display = "initial";
}

mydiv.onmouseleave = function() {
    mytr.style.display = "none";
}

所以我们知道所需的结果是4224号。

现在对表格中的数据做同样的事情:

SELECT 0x11B3 & 0x1880;
-> 4224

同样的结果。作品:))

答案 1 :(得分:0)

您可以使用UNHEX(str)将Hex更改为Text,然后将它们连接起来。