Rumah  >  Artikel  >  pangkalan data  >  Menggunakan nombor heksadesimal dalam MySQL?

Menggunakan nombor heksadesimal dalam MySQL?

PHPz
PHPzke hadapan
2023-09-13 18:45:021049semak imbas

在 MySQL 中使用十六进制数字?

Untuk menggunakan perenambelasan, gunakan fungsi CONV() untuk menukar antara asas. Sintaksnya adalah seperti berikut -

SET anyVariableName = CONV(yourHexValue,16,10);

Untuk memahami sintaks di atas, mari kita buat prosedur tersimpan. Pertanyaan untuk mencipta prosedur tersimpan adalah seperti berikut -

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 ;

Prosedur tersimpan di atas menukar perenambelasan kepada perpuluhan. Kita tahu bahawa A mewakili 10 dalam perpuluhan, jadi kita lulus A sebagai parameter. Gunakan arahan CALL untuk memanggil prosedur tersimpan.

Sintaks adalah seperti berikut -

CALL yourStoredProcedureName;

Gunakan arahan CALL untuk memanggil prosedur tersimpan di atas. Pertanyaannya adalah seperti berikut -

mysql> call SP_HEX_TO_DEC('A');

Berikut ialah output yang menunjukkan nilai perpuluhan yang dikira menggunakan prosedur tersimpan yang dibuat di atas -

+--------------+
| Decimalvalue |
+--------------+
| 10           |
+--------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.01 sec)

Semak terus dengan penyataan pilih.

mysql> select conv('AB',16,10) as DecimalResult;

Berikut ialah output -

+---------------+
| DecimalResult |
+---------------+
| 171           |
+---------------+
1 row in set (0.00 sec)

Sekarang mari kita lihat proses penukaran perenambelasan kepada perpuluhan. Ingat peraturan ini -

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.

Atas ialah kandungan terperinci Menggunakan nombor heksadesimal dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam