Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Gilt für:
Databricks SQL
Databricks Runtime
Konvertiert num von fromBase in toBase.
Syntax
conv(num, fromBase, toBase)
Argumente
-
num: EinSTRING-Ausdruck, der eine Zahl infromBaseausgibt. -
fromBase: EinINTEGER-Ausdruck, der die Quellbasis angibt. -
toBase: EinINTEGER-Ausdruck, der die Zielbasis angibt.
Gibt zurück
Ein STRING.
Die Funktion unterstützt Base 2 bis Base 36.
Die Ziffer 'A' (oder 'a') stellt dezimal 10 und 'Z' (oder 'z') die Dezimalzahl 35 dar.
Der unterstützte Wertebereich umfasst den von BIGINT.
Wenn fromBase kleiner als 2 oder toBase -1, 0 oder 1 ist, ist das Ergebnis NULL.
Wenn toBase negativ ist, wird num als Zahl mit Vorzeichen interpretiert, andernfalls wird der Wert als Zahl ohne Vorzeichen behandelt.
Wenn num außerhalb des Bereichs liegt, löst Databricks SQL und Databricks Runtime 13.3 LTS und höher einen ARITHMETIC_OVERFLOW aus.
Warnung
Wenn in Databricks Runtime spark.sql.ansi.enabledfalse lautet, verursacht ein Überlauf keinen Fehler, sondern „umschließt“ das Ergebnis stattdessen.
Beispiele
> SELECT conv('100', 2, 10);
4
> SELECT conv('-10', 16, 10);
18446744073709551600
> SELECT conv('-10', 16, -10);
-16
> SELECT conv('-1', 10, 10);
18446744073709551615
> SELECT conv('FFFFFFFFFFFFFFFFF', 16, 10);
Error: ARITHMETIC_OVERFLOW
> SELECT conv('FFFFFFFFFFFFFFFF', 16, 10);
18446744073709551615
> SELECT conv('FFFFFFFFFFFFFFFF', 16, -10);
-1