在 MySQL 中使用十六進位制數?
為了使用十六進位制,使用 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.
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP