Mysql
 sql >> Base de données >  >> RDS >> Mysql

CONV() - Convertir des nombres entre différentes bases dans MySQL

Lorsque vous travaillez avec MySQL, vous pouvez utiliser le CONV() fonction pour convertir un nombre d'une base à une autre. Il faut trois arguments ; le nombre à convertir, la base d'origine et la base vers laquelle vous souhaitez le convertir.

Syntaxe

Voici la syntaxe officielle :

CONV(N,from_base,to_base)

D'où from_base est la base d'origine, et to_base est la base dans laquelle vous voulez convertir le nombre.

Exemple – Décimal en binaire

Voici un exemple de conversion d'un nombre de base 10 (décimal) en base 2 (binaire) :

SELECT CONV(3, 10, 2);

Résultat :

+----------------+
| CONV(3, 10, 2) |
+----------------+
| 11             |
+----------------+

Nous pouvons donc voir que 3 en décimal convertit en 11 en binaire.

Dans le cas du binaire, MySQL a aussi un BIN() fonction qui vous permet de convertir de décimal en binaire. Par conséquent, l'exemple ci-dessus est l'équivalent de ce qui suit :

SELECT BIN(3);

Résultat :

+--------+
| BIN(3) |
+--------+
| 11     |
+--------+

Exemple – Binaire à décimal

Cependant, un avantage de la CONV() fonction est qu'il vous permet également de reconvertir dans l'autre sens. Nous pourrions donc basculer l'exemple ci-dessus pour convertir du binaire au décimal :

SELECT CONV(11, 2, 10);

Résultat :

+-----------------+
| CONV(11, 2, 10) |
+-----------------+
| 3               |
+-----------------+

Exemple – Décimal à hexadécimal

Dans cet exemple, nous convertissons de décimal en hexadécimal :

SELECT CONV(13, 10, 16);

Résultat :

+------------------+
| CONV(13, 10, 16) |
+------------------+
| D                |
+------------------+

Comme démontré ici, 13 en base 10 (décimal) convertit en D en base 16 (hexadécimal).

Voici un autre exemple, utilisant cette fois un nombre plus grand :

SELECT CONV(12734, 10, 16);

Résultat :

+---------------------+
| CONV(12734, 10, 16) |
+---------------------+
| 31BE                |
+---------------------+

Similaire au BIN() fonction pour les conversions binaires, MySQL a aussi un HEX() fonction qui convertit un nombre décimal en hexadécimal. Ainsi, l'exemple précédent pourrait être réécrit comme suit :

SELECT HEX(12734);

Résultat :

+------------+
| HEX(12734) |
+------------+
| 31BE       |
+------------+

Exemple – Base 36

Le CONV() accepte une base minimale de 2 (binaire) et une base maximale de 36. Voici un exemple de conversion de base 10 en base 36 :

SELECT CONV(12734, 10, 36);

Résultat :

+---------------------+
| CONV(12734, 10, 36) |
+---------------------+
| 9TQ                 |
+---------------------+