In MariaDB, CONV()
ist eine integrierte numerische Funktion, die Zahlen zwischen verschiedenen Zahlenbasen umwandelt. Sie können es beispielsweise verwenden, um eine Zahl von der Basis 10 in die Basis 16 umzuwandeln.
Es gibt eine Zeichenfolgendarstellung der umgewandelten Zahl zurück.
Syntax
Die Syntax lautet wie folgt:
CONV(N,from_base,to_base)
Wobei N
ist die zu konvertierende Zahl, from_base
ist die Basis, von der konvertiert werden soll, und to_base
ist die Basis für die Konvertierung.
Die minimale Basis ist 2 und die maximale Basis ist 36.
Beispiel
Hier ist ein Beispiel:
SELECT CONV(12, 10, 16);
Ergebnis:
+------------------+ | CONV(12, 10, 16) | +------------------+ | C | +------------------+
Das Ergebnis ist C
denn das ist der Hexadezimalwert (Basis 16) für 12
.
Die Zählung geht also so:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C.
Hier ist noch einer:
SELECT CONV(1234567, 10, 16);
Ergebnis:
+-----------------------+ | CONV(1234567, 10, 16) | +-----------------------+ | 12D687 | +-----------------------+
Negative Basis
Wenn der to_base
Argument ist eine negative Zahl, N
wird als vorzeichenbehaftete Zahl betrachtet. Andernfalls wird es als unsigniert behandelt.
SELECT CONV(-12, 10, -16);
Ergebnis:
+--------------------+ | CONV(-12, 10, -16) | +--------------------+ | -C | +--------------------+
Basis außerhalb der Reichweite
Die minimale Basis ist 2 und die maximale Basis ist 36. Wenn das zweite oder dritte Argument nicht innerhalb dieses Bereichs liegt, null
zurückgegeben wird.
Beispiel
SELECT CONV(12, 10, 42);
Ergebnis:
+------------------+ | CONV(12, 10, 42) | +------------------+ | NULL | +------------------+
String-Argumente
Die Zahl wird als Integer interpretiert, kann aber als Integer oder String angegeben werden.
SELECT CONV('C', 16, 2);
Ergebnis:
+------------------+ | CONV('C', 16, 2) | +------------------+ | 1100 | +------------------+
Null-Argumente
CONV()
gibt null
zurück wenn eines der Argumente null
ist :
SELECT CONV(null, 10, 8);
Ergebnis:
+-------------------+ | CONV(null, 10, 8) | +-------------------+ | NULL | +-------------------+
Fehlende Argumente
Aufruf von CONV()
mit der falschen Anzahl von Argumenten oder ohne Argumente führt zu einem Fehler:
SELECT CONV();
Ergebnis:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONV'
Und:
SELECT CONV(10, 2);
Ergebnis:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONV'