Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A
A következőkre vonatkozik: Databricks SQL
Databricks Runtime
Átkonvertálás num
innen: fromBase
toBase
.
Szemantika
conv(num, fromBase, toBase)
Argumentumok
-
num
: SzámokatSTRING
kifejező kifejezés a következőbenfromBase
: . -
fromBase
: AINTEGER
forrásbázist jelző kifejezés. -
toBase
: AINTEGER
célbázist jelző kifejezés.
Válaszok
A STRING
.
A függvény támogatja a 2. bázist a 36-os alaphoz.
Az "A" (vagy "a") számjegy a decimális 10, a "Z" (vagy "z") pedig a tizedes 35-öt jelöli.
A támogatott értékek tartománya az BIGINT
tartományát fedi le.
Ha fromBase
kisebb, mint 2, vagy toBase
-1, 0 vagy 1, akkor az eredmény .NULL
Ha toBase
negatív, num
akkor a rendszer aláírt számként értelmezi, ellenkező esetben nem aláírt számként kezeli.
Ha num
a Databricks SQL és a Databricks Runtime 13.3 LTS tartományon kívül van, akkor a fenti ARITHMETIC_OVERFLOW.
Figyelmeztetés
A Databricks futtatókörnyezetben, ha spark.sql.ansi.enabled van false
, a túlcsordulás nem okoz hibát, hanem "körbefuttatja" az eredményt.
Példák
> 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