為了使用十六進位,請使用 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 ;
上面的預存程序將十六進位轉換為十進位。我們知道 A 代表十進制的 10,因此我們將 A 作為參數傳遞。使用CALL指令呼叫預存程序。
語法如下 -
CALL yourStoredProcedureName;
使用 CALL 指令呼叫上述預存程序。查詢如下 -
mysql> call SP_HEX_TO_DEC('A');
以下是顯示使用上面建立的預存程序計算的十進位值的輸出 -
+--------------+ | 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)
現在讓我們看看將十六進位轉換為十進位的過程。記住這條規則 -
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.
以上是在 MySQL 中使用十六進位數字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!