Menggunakan nombor heksadesimal dalam MySQL?

PHPz
Lepaskan: 2023-09-13 18:45:02
ke hadapan
1048 orang telah melayarinya

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

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

SET anyVariableName = CONV(yourHexValue,16,10);
Salin selepas log masuk

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 ;
Salin selepas log masuk

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;
Salin selepas log masuk

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

mysql> call SP_HEX_TO_DEC('A');
Salin selepas log masuk

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)
Salin selepas log masuk

Semak terus dengan penyataan pilih.

mysql> select conv('AB',16,10) as DecimalResult;
Salin selepas log masuk

Berikut ialah output -

+---------------+
| DecimalResult |
+---------------+
| 171           |
+---------------+
1 row in set (0.00 sec)
Salin selepas log masuk

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.
Salin selepas log masuk

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

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!