Funktionen conv
Gäller för: Databricks SQL Databricks Runtime
Konverterar num
från fromBase
till toBase
.
Syntax
conv(num, fromBase, toBase)
Argument
-
num
: EttSTRING
uttryck som uttrycker ett tal ifromBase
. -
fromBase
: EttINTEGER
uttryck som anger källbasen. -
toBase
: EttINTEGER
uttryck som anger målbasen.
Returer
En STRING
.
Funktionen stöder bas 2 till bas 36.
Siffran "A" (eller "a") representerar decimal 10 och "Z" (eller "z") representerar decimal 35.
Intervallet för values som stöds omfattar ett BIGINT
.
Om fromBase
är mindre än 2, eller toBase
är -1, 0 eller 1, blir NULL
resultatet .
Om toBase
är negativt num
tolkas som ett signerat tal, annars behandlas det som ett osignerat tal.
Om num
är utom räckhåll genererar Databricks SQL och Databricks Runtime 13.3 LTS och senare en ARITHMETIC_OVERFLOW.
Varning
I Databricks Runtime om spark.sql.ansi.enabled är false
orsakar ett spill inte ett fel utan "omsluter" resultatet i stället.
Exempel
> 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