I MariaDB, CONV()
är en inbyggd numerisk funktion som konverterar tal mellan olika talbaser. Du kan till exempel använda den för att konvertera ett tal från bas 10 till bas 16.
Den returnerar en strängrepresentation av det konverterade talet.
Syntax
Syntaxen ser ut så här:
CONV(N,from_base,to_base)
Där N
är talet som ska konverteras, from_base
är basen att konvertera från och to_base
är basen att konvertera till.
Minsta bas är 2 och högsta bas är 36.
Exempel
Här är ett exempel:
SELECT CONV(12, 10, 16);
Resultat:
+------------------+ | CONV(12, 10, 16) | +------------------+ | C | +------------------+
Resultatet är C
eftersom det är det hexadecimala (bas 16) värdet för 12
.
Så räkningen går så här:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C.
Här är en till:
SELECT CONV(1234567, 10, 16);
Resultat:
+-----------------------+ | CONV(1234567, 10, 16) | +-----------------------+ | 12D687 | +-----------------------+
Negativ bas
Om to_base
argument är ett negativt tal, N
betraktas som ett signerat nummer. Annars behandlas den som osignerad.
SELECT CONV(-12, 10, -16);
Resultat:
+--------------------+ | CONV(-12, 10, -16) | +--------------------+ | -C | +--------------------+
Bas utanför intervallet
Minsta bas är 2 och maximal bas är 36. Om det andra eller tredje argumentet inte är inom detta intervall, null
returneras.
Exempel
SELECT CONV(12, 10, 42);
Resultat:
+------------------+ | CONV(12, 10, 42) | +------------------+ | NULL | +------------------+
Strängargument
Talet tolkas som ett heltal, men kan anges som ett heltal eller en sträng.
SELECT CONV('C', 16, 2);
Resultat:
+------------------+ | CONV('C', 16, 2) | +------------------+ | 1100 | +------------------+
Nollargument
CONV()
returnerar null
om något av argumenten är null
:
SELECT CONV(null, 10, 8);
Resultat:
+-------------------+ | CONV(null, 10, 8) | +-------------------+ | NULL | +-------------------+
Argument saknas
Anropar CONV()
med fel antal argument, eller utan några argument resulterar i ett fel:
SELECT CONV();
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONV'
Och:
SELECT CONV(10, 2);
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONV'