본문 바로가기

Technical/DBMS

MySQL, Hex와 Conv로 Mac address 계산하기


SET @mac := '00afafafafaf'; -- ==> '00afafafafb0' 로 주소 값을 1증가 시키려고 한다
CONV(@mac, 16, 10) + 1; -- 12자리 mac address string을 BigInt 정수로 변환하여 +1
HEX(정수); -- 정수값을 hexadecimal string으로 변환
LPAD(string, digits, '0'); digits자리수 만큼 왼쪽에 '0'을 채운다
-- 결과
SELECT LPAD(HEX(CONV(@mac, 16, 10)+1), 12, '0');

<참고> SELECT INET_ATON( '168.126.63.1') = 2826845953 -- BigInt
           SELECT INET_NTOA( 2826845953 ) = '168.126.63.1'