Maison >base de données >tutoriel mysql >Vous utilisez des nombres hexadécimaux dans 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);
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 ;
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;
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');
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)
Vérifiez-la directement avec l'instruction select.
mysql> select conv('AB',16,10) as DecimalResult;
Ci-dessous se trouve le résultat -
+---------------+ | DecimalResult | +---------------+ | 171 | +---------------+ 1 row in set (0.00 sec)
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.
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!