阅读一些研究后,我了解存储在mysql中的mac地址应存储为BIG INT
。有一种简单的方法可以使用标准十六进制格式输出mac:ab:23:a4:23:54:33
使用SELECT
语句吗?
我知道我可以使用hex()
将格式转换为十六进制,但我想要完整的6个字节和冒号。感谢。
类似的东西:
SELECT hex(macAddress) from <table>;
答案 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;