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