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'