Maison > base de données > tutoriel mysql > le corps du texte

Vous utilisez des nombres hexadécimaux dans MySQL ?

PHPz
Libérer: 2023-09-13 18:45:02
avant
1049 Les gens l'ont consulté

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

Pour utiliser l'hexadécimal, utilisez la fonction CONV() pour convertir entre les bases. La syntaxe est la suivante -

SET anyVariableName = CONV(yourHexValue,16,10);
Copier après la connexion

Pour comprendre la syntaxe ci-dessus, créons une procédure stockée. La requête pour créer la procédure stockée est la suivante -

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 ;
Copier après la connexion

La procédure stockée ci-dessus convertit l'hexadécimal en décimal. Nous savons que A représente 10 en décimal, nous passons donc A comme argument. Utilisez la commande CALL pour appeler des procédures stockées.

La syntaxe est la suivante -

CALL yourStoredProcedureName;
Copier après la connexion

Utilisez la commande CALL pour appeler la procédure stockée ci-dessus. La requête est la suivante -

mysql> call SP_HEX_TO_DEC('A');
Copier après la connexion

Ce qui suit est la sortie montrant la valeur décimale calculée à l'aide de la procédure stockée créée ci-dessus -

+--------------+
| Decimalvalue |
+--------------+
| 10           |
+--------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.01 sec)
Copier après la connexion

Vérifiez-la directement avec l'instruction select.

mysql> select conv('AB',16,10) as DecimalResult;
Copier après la connexion

Ci-dessous se trouve le résultat -

+---------------+
| DecimalResult |
+---------------+
| 171           |
+---------------+
1 row in set (0.00 sec)
Copier après la connexion

Voyons maintenant le processus de conversion hexadécimal en décimal. N'oubliez pas cette règle -

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.
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!