conv
-functie
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 dat values ondersteunt omvat dat van een BIGINT
.
Als fromBase
dit kleiner is dan 2 of toBase
-1, 0 of 1 is, is NULL
het resultaat.
Als toBase
een negatief num
getal wordt geïnterpreteerd als een ondertekend getal, anders wordt het zo behandeld als een niet-ondertekend getal.
Als num
databricks SQL en Databricks Runtime 13.3 LTS buiten het bereik vallen, wordt er een ARITHMETIC_OVERFLOW gemaakt.
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