In MariaDB, CONV()
è una funzione numerica incorporata che converte i numeri tra diverse basi numeriche. Ad esempio, puoi usarlo per convertire un numero da base 10 a base 16.
Restituisce una rappresentazione in formato stringa del numero convertito.
Sintassi
La sintassi è questa:
CONV(N,from_base,to_base)
Dove N
è il numero da convertire, from_base
è la base da cui convertire e to_base
è la base in cui convertire.
La base minima è 2 e la base massima è 36.
Esempio
Ecco un esempio:
SELECT CONV(12, 10, 16);
Risultato:
+------------------+ | CONV(12, 10, 16) | +------------------+ | C | +------------------+
Il risultato è C
perché è il valore esadecimale (base 16) per 12
.
Quindi il conteggio va così:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C.
Eccone un altro:
SELECT CONV(1234567, 10, 16);
Risultato:
+-----------------------+ | CONV(1234567, 10, 16) | +-----------------------+ | 12D687 | +-----------------------+
Base negativa
Se il to_base
argomento è un numero negativo, N
è considerato un numero con segno. Altrimenti viene trattato come non firmato.
SELECT CONV(-12, 10, -16);
Risultato:
+--------------------+ | CONV(-12, 10, -16) | +--------------------+ | -C | +--------------------+
Base fuori portata
La base minima è 2 e la base massima è 36. Se il secondo o il terzo argomento non rientrano in questo intervallo, null
viene restituito.
Esempio
SELECT CONV(12, 10, 42);
Risultato:
+------------------+ | CONV(12, 10, 42) | +------------------+ | NULL | +------------------+
Argomenti di stringhe
Il numero viene interpretato come numero intero, ma può essere specificato come numero intero o stringa.
SELECT CONV('C', 16, 2);
Risultato:
+------------------+ | CONV('C', 16, 2) | +------------------+ | 1100 | +------------------+
Argomenti nulli
CONV()
restituisce null
se uno qualsiasi degli argomenti è null
:
SELECT CONV(null, 10, 8);
Risultato:
+-------------------+ | CONV(null, 10, 8) | +-------------------+ | NULL | +-------------------+
Argomenti mancanti
Chiamando CONV()
con il numero errato di argomenti o senza argomenti genera un errore:
SELECT CONV();
Risultato:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONV'
E:
SELECT CONV(10, 2);
Risultato:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONV'