Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

CONV() – Converter números entre diferentes bases no MySQL


Ao trabalhar com MySQL, você pode usar o CONV() função para converter um número de uma base para outra. São necessários três argumentos; o número a ser convertido, a base original e a base para a qual você deseja convertê-lo.


Sintaxe


Aqui está a sintaxe oficial:
CONV(N,from_base,to_base)

Onde from_base é a base original e to_base é a base na qual você deseja converter o número.

Exemplo – Decimal para Binário


Aqui está um exemplo de conversão de um número de base 10 (decimal) para base 2 (binário):
SELECT CONV(3, 10, 2);

Resultado:
+----------------+
| CONV(3, 10, 2) |
+----------------+
| 11             |
+----------------+

Assim, podemos ver que 3 em decimal converte para 11 em binário.

No caso de binário, o MySQL também tem um BIN() função que permite converter de decimal para binário. Portanto, o exemplo acima é equivalente ao seguinte:
SELECT BIN(3);

Resultado:
+--------+
| BIN(3) |
+--------+
| 11     |
+--------+

Exemplo – Binário para Decimal


No entanto, um benefício do CONV() função é que ele também permite que você converta de volta para o outro lado. Assim, poderíamos mudar o exemplo acima para converter de binário para decimal:
SELECT CONV(11, 2, 10);

Resultado:
+-----------------+
| CONV(11, 2, 10) |
+-----------------+
| 3               |
+-----------------+

Exemplo – Decimal para Hexadecimal


Neste exemplo, convertemos de decimal para hexadecimal:
SELECT CONV(13, 10, 16);

Resultado:
+------------------+
| CONV(13, 10, 16) |
+------------------+
| D                |
+------------------+

Conforme demonstrado aqui, 13 em base 10 (decimal) converte em D na base 16 (hexadecimal).

Aqui está outro exemplo, desta vez usando um número maior:
SELECT CONV(12734, 10, 16);

Resultado:
+---------------------+
| CONV(12734, 10, 16) |
+---------------------+
| 31BE                |
+---------------------+

Semelhante ao BIN() função para conversões binárias, o MySQL também tem um HEX() função que converte um número de decimal para hexadecimal. Assim, o exemplo anterior poderia ser reescrito da seguinte forma:
SELECT HEX(12734);

Resultado:
+------------+
| HEX(12734) |
+------------+
| 31BE       |
+------------+

Exemplo – Base 36


O CONV() A função aceita uma base mínima de 2 (binário) e uma base máxima de 36. Aqui está um exemplo de conversão da base 10 para a base 36:
SELECT CONV(12734, 10, 36);

Resultado:
+---------------------+
| CONV(12734, 10, 36) |
+---------------------+
| 9TQ                 |
+---------------------+