Dans MariaDB, CONV()
est une fonction numérique intégrée qui convertit les nombres entre différentes bases de nombres. Par exemple, vous pouvez l'utiliser pour convertir un nombre de base 10 en base 16.
Il renvoie une représentation sous forme de chaîne du nombre converti.
Syntaxe
La syntaxe ressemble à ceci :
CONV(N,from_base,to_base)
Où N
est le nombre à convertir, from_base
est la base à partir de laquelle convertir, et to_base
est la base vers laquelle convertir.
La base minimale est 2 et la base maximale est 36.
Exemple
Voici un exemple :
SELECT CONV(12, 10, 16);
Résultat :
+------------------+ | CONV(12, 10, 16) | +------------------+ | C | +------------------+
Le résultat est C
parce que c'est la valeur hexadécimale (base 16) pour 12
.
Ainsi, le décompte est le suivant :0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C.
En voici une autre :
SELECT CONV(1234567, 10, 16);
Résultat :
+-----------------------+ | CONV(1234567, 10, 16) | +-----------------------+ | 12D687 | +-----------------------+
Base négative
Si le to_base
l'argument est un nombre négatif, N
est considéré comme un nombre signé. Sinon, il est traité comme non signé.
SELECT CONV(-12, 10, -16);
Résultat :
+--------------------+ | CONV(-12, 10, -16) | +--------------------+ | -C | +--------------------+
Base hors plage
La base minimale est 2 et la base maximale est 36. Si le deuxième ou le troisième argument n'est pas dans cette plage, null
est renvoyé.
Exemple
SELECT CONV(12, 10, 42);
Résultat :
+------------------+ | CONV(12, 10, 42) | +------------------+ | NULL | +------------------+
Arguments de chaîne
Le nombre est interprété comme un entier, mais peut être spécifié comme un entier ou une chaîne.
SELECT CONV('C', 16, 2);
Résultat :
+------------------+ | CONV('C', 16, 2) | +------------------+ | 1100 | +------------------+
Arguments nuls
CONV()
renvoie null
si l'un des arguments est null
:
SELECT CONV(null, 10, 8);
Résultat :
+-------------------+ | CONV(null, 10, 8) | +-------------------+ | NULL | +-------------------+
Arguments manquants
Appel de CONV()
avec le mauvais nombre d'arguments, ou sans aucun argument entraîne une erreur :
SELECT CONV();
Résultat :
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONV'
Et :
SELECT CONV(10, 2);
Résultat :
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONV'