Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 16진수 값을 숫자로 변환하는 방법 – CAST(… AS UNSIGNED) 활용하기

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가 됩니다.