為了使用十六進制,請使用 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 中使用十六進制數字?的詳細內容,更多請關注www.92cms.cn其它相關文章!