Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis 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 infromBase
ausgibt. -
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