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'