Giả sử rằng bạn đã lưu trữ địa chỉ MAC bằng cách loại bỏ tất cả các dấu phân tách và chuyển đổi số HEX kết quả thành int, chuyển đổi từ int này thành địa chỉ MAC có thể đọc được của con người sẽ là:
Hàmfunction int2macaddress($int) {
$hex = base_convert($int, 10, 16);
while (strlen($hex) < 12)
$hex = '0'.$hex;
return strtoupper(implode(':', str_split($hex,2)));
}
Hàm được lấy từ http://www.onurguzel .com / storage-mac-address-in-a-mysql-database /
Phiên bản MySQL cho chức năng này:
delimiter $$
create function itomac (i BIGINT)
returns char(20)
language SQL
begin
declare temp CHAR(20);
set temp = lpad (hex (i), 12, '0');
return concat (left (temp, 2),':',mid(temp,3,2),':',mid(temp,5,2),':',mid(temp,7,2),':',mid(temp,9,2),':',mid(temp,11,2));
end;
$$
delimiter ;
Bạn cũng có thể làm điều đó trực tiếp trong SQL, như sau:
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