Mysql
 sql >> Database >  >> RDS >> Mysql

CONV() – Converti numeri tra basi diverse in MySQL

Quando si lavora con MySQL, è possibile utilizzare CONV() funzione per convertire un numero da una base all'altra. Ci vogliono tre argomenti; il numero da convertire, la base originale e la base in cui vuoi convertirla.

Sintassi

Ecco la sintassi ufficiale:

CONV(N,from_base,to_base)

Dove from_base è la base originale e to_base è la base in cui vuoi convertire il numero.

Esempio:da decimale a binario

Ecco un esempio di conversione di un numero da base 10 (decimale) a base 2 (binario):

SELECT CONV(3, 10, 2);

Risultato:

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

Quindi possiamo vedere quel 3 in decimale converte in 11 in binario.

Nel caso del binario, MySQL ha anche un BIN() funzione che permette di convertire da decimale a binario. Pertanto, l'esempio sopra è l'equivalente del seguente:

SELECT BIN(3);

Risultato:

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

Esempio:da binario a decimale

Tuttavia, un vantaggio di CONV() la funzione è che ti consente anche di riconvertire nell'altro modo. Quindi potremmo cambiare l'esempio sopra per convertire da binario a decimale:

SELECT CONV(11, 2, 10);

Risultato:

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

Esempio:da decimale a esadecimale

In questo esempio convertiamo da decimale a esadecimale:

SELECT CONV(13, 10, 16);

Risultato:

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

Come mostrato qui, 13 in base 10 (decimale) si converte in D in base 16 (esadecimale).

Ecco un altro esempio, questa volta utilizzando un numero più grande:

SELECT CONV(12734, 10, 16);

Risultato:

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

Simile a BIN() funzione per le conversioni binarie, MySQL ha anche un HEX() funzione che converte un numero da decimale a esadecimale. Quindi l'esempio precedente potrebbe essere riscritto come segue:

SELECT HEX(12734);

Risultato:

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

Esempio – Base 36

Il CONV() la funzione accetta una base minima di 2 (binaria) e una base massima di 36. Ecco un esempio di conversione da base 10 a base 36:

SELECT CONV(12734, 10, 36);

Risultato:

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