16진수 값을 숫자로 처리하는 방법
MySQL에서 16진수(hexadecimal) 값은 기본적으로 문자열처럼 해석될 수 있습니다. 예를 들어 0x54는 ASCII 코드 84에 해당하는 문자 'T'로 표시됩니다. 이러한 16진수 값을 실제 숫자로 다루고 싶다면 CAST(… AS UNSIGNED) 함수를 사용하면 됩니다.
기본 사용 예제
아래 예제는 16진수 값 0x54를 그대로 출력한 결과와, CAST 함수를 적용해 숫자로 변환한 결과를 함께 보여줍니다.
mysql> Select 0x54, CAST(0x54 AS UNSIGNED); +------+------------------------+ | 0x54 | CAST(0x54 AS UNSIGNED) | +------+------------------------+ | T | 84 | +------+------------------------+ 1 row in set (0.01 sec)
결과 분석
0x54를 단독으로 조회하면 문자열 'T'가 출력됩니다.CAST(0x54 AS UNSIGNED)를 적용하면 부호 없는 정수인 84로 변환되어 출력됩니다.
참고 사항
CAST 대신 CONV('54', 16, 10) 함수를 사용해도 동일하게 10진수 값 84를 얻을 수 있습니다. 또한 16진수 리터럴에 산술 연산자를 직접 적용하면 MySQL이 자동으로 숫자로 취급하므로, 예를 들어 SELECT 0x54 + 0;의 결과 역시 84가 됩니다.