W MariaDB, CONV()
to wbudowana funkcja numeryczna, która konwertuje liczby między różnymi podstawami liczbowymi. Na przykład możesz go użyć do konwersji liczby o podstawie 10 na podstawę 16.
Zwraca ciąg reprezentujący przekonwertowaną liczbę.
Składnia
Składnia wygląda tak:
CONV(N,from_base,to_base)
Gdzie N
to liczba do konwersji, from_base
jest bazą do konwersji i to_base
jest podstawą do konwersji.
Minimalna podstawa to 2, a maksymalna podstawa to 36.
Przykład
Oto przykład:
SELECT CONV(12, 10, 16);
Wynik:
+------------------+ | CONV(12, 10, 16) | +------------------+ | C | +------------------+
Wynik to C
ponieważ jest to wartość szesnastkowa (podstawa 16) dla 12
.
Więc zliczanie wygląda tak:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C.
Oto kolejny:
SELECT CONV(1234567, 10, 16);
Wynik:
+-----------------------+ | CONV(1234567, 10, 16) | +-----------------------+ | 12D687 | +-----------------------+
Podstawa ujemna
Jeśli to_base
argument jest liczbą ujemną, N
jest uważany za podpisany numer. W przeciwnym razie jest traktowany jako niepodpisany.
SELECT CONV(-12, 10, -16);
Wynik:
+--------------------+ | CONV(-12, 10, -16) | +--------------------+ | -C | +--------------------+
Baza poza zasięgiem
Minimalna podstawa to 2, a maksymalna podstawa to 36. Jeśli drugi lub trzeci argument nie mieści się w tym zakresie, null
jest zwracany.
Przykład
SELECT CONV(12, 10, 42);
Wynik:
+------------------+ | CONV(12, 10, 42) | +------------------+ | NULL | +------------------+
Argumenty ciągów
Liczba jest interpretowana jako liczba całkowita, ale może być określona jako liczba całkowita lub łańcuch.
SELECT CONV('C', 16, 2);
Wynik:
+------------------+ | CONV('C', 16, 2) | +------------------+ | 1100 | +------------------+
Argumenty zerowe
CONV()
zwraca null
jeśli którykolwiek z argumentów jest null
:
SELECT CONV(null, 10, 8);
Wynik:
+-------------------+ | CONV(null, 10, 8) | +-------------------+ | NULL | +-------------------+
Brakujące argumenty
Wywołanie CONV()
z niewłaściwą liczbą argumentów lub bez żadnych argumentów powoduje błąd:
SELECT CONV();
Wynik:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONV'
Oraz:
SELECT CONV(10, 2);
Wynik:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONV'