在mysql中输出mac地址作为标准格式

时间:2014-03-06 01:08:24

标签: mysql format hex mac-address

阅读一些研究后,我了解存储在mysql中的mac地址应存储为BIG INT。有一种简单的方法可以使用标准十六进制格式输出mac:ab:23:a4:23:54:33使用SELECT语句吗?

我知道我可以使用hex()将格式转换为十六进制,但我想要完整的6个字节和冒号。感谢。

类似的东西:

SELECT hex(macAddress) from <table>;

2 个答案:

答案 0 :(得分:2)

如果您将macAddress存储为字符串,则可以使用以下文本转换。

SELECT
    mac, concat(left(mac,2), ":",substring(mac,3,2), ":" , substring(mac,5,2),
     ":",substring(mac,7,2), ":",substring(mac,9,2), ":", 
    right(mac,2)) as mac_colons 
FROM mac_table;

答案 1 :(得分:0)

好一点:

SELECT
  mac, CONCAT_WS(':',left(mac,2), substring(mac,3,2), substring(mac,5,2),
   substring(mac,7,2), substring(mac,9,2), right(mac,2)) as mac_colons 
FROM mac_table;