sql >> Base de Datos >  >> RDS >> Mysql

CONV() – Convertir números entre diferentes bases en MySQL

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                 |
+---------------------+