在macql中将mac地址从varchar转换为bigint(6)

时间:2015-08-10 11:47:49

标签: mysql sql mac-address

我需要将mysql数据库中的大量mac地址从varchar格式转换为bigint(6)。 我知道mac地址C404158996CD - 是215521820251853。 这样做的功能是什么?我已尝试使用hex(),但它返回433430343135383939364344用于相同的mac地址。

2 个答案:

答案 0 :(得分:1)

C404158996CD是十六进制数,215521820251853是十进制数。十六进制(215521820251853)= C404158996CD,而不是相反。

您需要CONV('C404158996CD', 16,10)(“将'C404158996CD'从基数16转换为基数10”)

答案 1 :(得分:0)

看看这个tutorial。他们在这里将MAC地址转换为bigint。你可以这样做:

select
concat (left (b.mh, 2),':',mid(b.mh,3,2),':',mid(b.mh,5,2),':',mid(b.mh,7,2),':',mid(b.mh,9,2),':',mid(b.mh,11,2))
from (
    select lpad (hex (a.mac_as_int), 12, '0') as mh
    from (
        select 1234567890 as mac_as_int
    ) a
) b

stackoverflow's answer正在详细解释它。

或者,您也可以使用MySQL' conv功能