Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: Databricks SQL
Databricks Runtime
Converteert num
van fromBase
naar toBase
.
Syntaxis
conv(num, fromBase, toBase)
Argumenten
-
num
: EenSTRING
expressie waarin een getal wordt weergegeven infromBase
. -
fromBase
: EenINTEGER
expressie die de bronbasis aangeeft. -
toBase
: EenINTEGER
expressie die de doelbasis aangeeft.
Retouren
A STRING
.
De functie ondersteunt basis 2 tot grondtal 36.
Het cijfer 'A' (of 'a') vertegenwoordigt decimaal 10 en 'Z' (of 'z') vertegenwoordigt decimal 35.
Het bereik van de ondersteunde waarden omvat dat van een BIGINT
.
Als fromBase
kleiner is dan 2, of toBase
-1, 0, of 1 is, dan is NULL
het resultaat.
Als toBase
negatief is, wordt num
geïnterpreteerd als een tekengetal; anders wordt het behandeld als een tekenloos getal.
Als num
buiten het bereik valt, geeft Databricks SQL en Databricks Runtime 13.3 LTS en hoger een ARITHMETIC_OVERFLOW.
Waarschuwing
In Databricks Runtime als spark.sql.ansi.enabled is, veroorzaakt false
een overloop geen fout, maar 'verpakt' het resultaat.
Voorbeelden
> 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