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

MySQL CONV() 함수로 진법 변환하기: 한 숫자 체계의 값을 다른 숫자 체계로 바꾸는 방법

MySQL CONV() 함수란?

MySQL의 CONV() 함수를 사용하면 하나의 숫자 체계(진법)에 속한 값을 다른 숫자 체계(진법)의 값으로 손쉽게 변환할 수 있습니다. 예를 들어 10진수를 2진수나 16진수로 바꾸거나, 그 반대 작업도 간단히 처리할 수 있습니다.

CONV() 함수 문법

CONV(N, from_base, to_base)

각 매개변수의 의미는 다음과 같습니다.

  • N: 변환하려는 숫자입니다. 정수로 해석되며, 정수 또는 문자열 어느 쪽으로든 지정할 수 있습니다.
  • from_base: N의 현재 진법입니다.
  • to_base: 변환할 대상 진법입니다.

진법은 최소 2부터 최대 36까지 지정할 수 있습니다. 만약 to_base가 음수로 주어지면 N은 부호 있는 수로 취급되며, 인자 중 하나라도 NULL이면 함수 역시 NULL을 반환합니다.

사용 예제

mysql> SELECT CONV('10', 10, 2) AS 'DECIMAL TO BINARY';
+-------------------+
| DECIMAL TO BINARY |
+-------------------+
| 1010              |
+-------------------+
1 row in set (0.00 sec)

위 예제에서는 10진수 값 10을 2진수로 변환하여 '1010'이라는 결과를 얻었습니다.

추가 예제

반대로 2진수를 10진수로 변환할 수도 있습니다.

mysql> SELECT CONV('1010', 2, 10);
+---------------------+
| CONV('1010', 2, 10) |
+---------------------+
| 10                  |
+---------------------+
1 row in set (0.00 sec)

16진수를 10진수로 변환하는 것도 가능합니다.

mysql> SELECT CONV('FF', 16, 10);
+--------------------+
| CONV('FF', 16, 10) |
+--------------------+
| 255                |
+--------------------+
1 row in set (0.00 sec)

이처럼 CONV() 함수를 활용하면 별도의 복잡한 계산 없이도 다양한 진법 간의 변환을 SQL 쿼리 안에서 직접 처리할 수 있습니다.