Cuando trabaje con MySQL, puede usar CONV()
función para convertir un número de una base a otra. Se necesitan tres argumentos; el número a convertir, la base original y la base a la que desea convertirlo.
Sintaxis
Esta es la sintaxis oficial:
CONV(N,from_base,to_base)
donde from_base
es la base original, y to_base
es la base en la que desea convertir el número.
Ejemplo:de decimal a binario
Este es un ejemplo de cómo convertir un número de base 10 (decimal) a base 2 (binario):
SELECT CONV(3, 10, 2);
Resultado:
+----------------+ | CONV(3, 10, 2) | +----------------+ | 11 | +----------------+
Entonces podemos ver que 3
en decimal se convierte a 11
en binario.
En el caso de binario, MySQL también tiene un BIN()
función que le permite convertir de decimal a binario. Por lo tanto, el ejemplo anterior es el equivalente al siguiente:
SELECT BIN(3);
Resultado:
+--------+ | BIN(3) | +--------+ | 11 | +--------+
Ejemplo:binario a decimal
Sin embargo, un beneficio de CONV()
La función es que también le permite volver a convertir al otro lado. Así que podríamos cambiar el ejemplo anterior para convertir de binario a decimal:
SELECT CONV(11, 2, 10);
Resultado:
+-----------------+ | CONV(11, 2, 10) | +-----------------+ | 3 | +-----------------+
Ejemplo:de decimal a hexadecimal
En este ejemplo convertimos de decimal a hexadecimal:
SELECT CONV(13, 10, 16);
Resultado:
+------------------+ | CONV(13, 10, 16) | +------------------+ | D | +------------------+
Como se demuestra aquí, 13
en base 10 (decimal) se convierte en D
en base 16 (hexadecimal).
Aquí hay otro ejemplo, esta vez usando un número más grande:
SELECT CONV(12734, 10, 16);
Resultado:
+---------------------+ | CONV(12734, 10, 16) | +---------------------+ | 31BE | +---------------------+
Similar al BIN()
función para conversiones binarias, MySQL también tiene un HEX()
función que convierte un número de decimal a hexadecimal. Entonces, el ejemplo anterior podría reescribirse de la siguiente manera:
SELECT HEX(12734);
Resultado:
+------------+ | HEX(12734) | +------------+ | 31BE | +------------+
Ejemplo:base 36
El CONV()
La función acepta una base mínima de 2 (binario) y una base máxima de 36. Este es un ejemplo de conversión de base 10 a base 36:
SELECT CONV(12734, 10, 36);
Resultado:
+---------------------+ | CONV(12734, 10, 36) | +---------------------+ | 9TQ | +---------------------+