En MariaDB, CONV()
es una función numérica incorporada que convierte números entre diferentes bases numéricas. Por ejemplo, puede usarlo para convertir un número de base 10 a base 16.
Devuelve una representación de cadena del número convertido.
Sintaxis
La sintaxis es así:
CONV(N,from_base,to_base)
Donde N
es el número a convertir, from_base
es la base para convertir y to_base
es la base para convertir.
La base mínima es 2 y la base máxima es 36.
Ejemplo
He aquí un ejemplo:
SELECT CONV(12, 10, 16);
Resultado:
+------------------+ | CONV(12, 10, 16) | +------------------+ | C | +------------------+
El resultado es C
porque ese es el valor hexadecimal (base 16) para 12
.
Así que la cuenta es así:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C.
Aquí hay otro:
SELECT CONV(1234567, 10, 16);
Resultado:
+-----------------------+ | CONV(1234567, 10, 16) | +-----------------------+ | 12D687 | +-----------------------+
Base Negativa
Si el to_base
el argumento es un número negativo, N
se considera como un número con signo. De lo contrario, se trata como si no estuviera firmado.
SELECT CONV(-12, 10, -16);
Resultado:
+--------------------+ | CONV(-12, 10, -16) | +--------------------+ | -C | +--------------------+
Base fuera de rango
La base mínima es 2 y la base máxima es 36. Si el segundo o tercer argumento no está dentro de este rango, null
es devuelto.
Ejemplo
SELECT CONV(12, 10, 42);
Resultado:
+------------------+ | CONV(12, 10, 42) | +------------------+ | NULL | +------------------+
Argumentos de cadena
El número se interpreta como un número entero, pero se puede especificar como un número entero o una cadena.
SELECT CONV('C', 16, 2);
Resultado:
+------------------+ | CONV('C', 16, 2) | +------------------+ | 1100 | +------------------+
Argumentos nulos
CONV()
devuelve null
si alguno de los argumentos es null
:
SELECT CONV(null, 10, 8);
Resultado:
+-------------------+ | CONV(null, 10, 8) | +-------------------+ | NULL | +-------------------+
Argumentos faltantes
Llamando a CONV()
con el número incorrecto de argumentos, o sin ningún argumento da como resultado un error:
SELECT CONV();
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONV'
Y:
SELECT CONV(10, 2);
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONV'