I MariaDB, CONV()
er en indbygget numerisk funktion, der konverterer tal mellem forskellige talbaser. For eksempel kan du bruge det til at konvertere et tal fra grundtal 10 til grundtal 16.
Det returnerer en strengrepræsentation af det konverterede tal.
Syntaks
Syntaksen ser sådan ud:
CONV(N,from_base,to_base)
Hvor N
er det tal, der skal konverteres, from_base
er den base, der skal konverteres fra, og to_base
er den base, der skal konverteres til.
Den mindste base er 2 og den maksimale base er 36.
Eksempel
Her er et eksempel:
SELECT CONV(12, 10, 16);
Resultat:
+------------------+ | CONV(12, 10, 16) | +------------------+ | C | +------------------+
Resultatet er C
fordi det er den hexadecimale (base 16) værdi for 12
.
Så optællingen går sådan her:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C.
Her er endnu en:
SELECT CONV(1234567, 10, 16);
Resultat:
+-----------------------+ | CONV(1234567, 10, 16) | +-----------------------+ | 12D687 | +-----------------------+
Negativ base
Hvis to_base
argument er et negativt tal, N
betragtes som et signeret nummer. Ellers behandles det som usigneret.
SELECT CONV(-12, 10, -16);
Resultat:
+--------------------+ | CONV(-12, 10, -16) | +--------------------+ | -C | +--------------------+
Udenfor rækkevidde Base
Minimumsbasen er 2, og den maksimale base er 36. Hvis det andet eller tredje argument ikke er inden for dette interval, null
er returneret.
Eksempel
SELECT CONV(12, 10, 42);
Resultat:
+------------------+ | CONV(12, 10, 42) | +------------------+ | NULL | +------------------+
Strengargumenter
Tallet fortolkes som et heltal, men kan angives som et heltal eller en streng.
SELECT CONV('C', 16, 2);
Resultat:
+------------------+ | CONV('C', 16, 2) | +------------------+ | 1100 | +------------------+
Nul-argumenter
CONV()
returnerer null
hvis nogen af argumenterne er null
:
SELECT CONV(null, 10, 8);
Resultat:
+-------------------+ | CONV(null, 10, 8) | +-------------------+ | NULL | +-------------------+
Manglende argumenter
Kalder CONV()
med det forkerte antal argumenter eller uden argumenter resulterer i en fejl:
SELECT CONV();
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONV'
Og:
SELECT CONV(10, 2);
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONV'