16진법으로 작업하려면 CONV() 함수를 사용하여 기수를 변환하십시오. 구문은 다음과 같습니다 -
SET anyVariableName = CONV(yourHexValue,16,10);
위의 구문을 이해하기 위해 저장 프로시저를 만들어 보겠습니다. 저장 프로시저를 생성하는 쿼리는 다음과 같습니다. -
mysql> DELIMITER // mysql> CREATE PROCEDURE SP_HEX_TO_DEC( HEXVALUE VARCHAR(10) ) -> BEGIN -> DECLARE Decimalvalue INTEGER; -> SET Decimalvalue = CONV(HEXVALUE,16,10); -> select Decimalvalue; -> END; -> // Query OK, 0 rows affected (0.19 sec) mysql> DELIMITER ;
위의 저장 프로시저는 16진수를 10진수로 변환합니다. A는 10진수로 10을 나타내므로 A를 매개변수로 전달할 것입니다. CALL 명령을 사용하여 저장 프로시저를 호출합니다.
구문은 다음과 같습니다 -
CALL yourStoredProcedureName;
CALL 명령을 사용하여 위의 저장 프로시저를 호출합니다. 쿼리는 다음과 같습니다 -
mysql> call SP_HEX_TO_DEC('A');
다음은 위에서 생성한 저장 프로시저를 사용하여 계산된 10진수 값을 표시하는 출력입니다. -
+--------------+ | Decimalvalue | +--------------+ | 10 | +--------------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.01 sec)
select 문으로 직접 확인하세요.
mysql> select conv('AB',16,10) as DecimalResult;
다음은 출력입니다 -
+---------------+ | DecimalResult | +---------------+ | 171 | +---------------+ 1 row in set (0.00 sec)
이제 16진수를 10진수로 변환하는 절차를 살펴보겠습니다. 이 규칙을 기억하십시오 -
A and B represented as 10 and 11 respectively in hexadecimal. To convert it into decimal rule is as follows: N ………+value3 *162 +value2 *161 + value1 * 160 = 10 * 161 + 11 * 160 = 160+11 = 171.