Megosztás a következőn keresztül:


A conv függvény

A következőkre vonatkozik: jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

Átkonvertálás num innen: fromBase toBase.

Syntax

conv(num, fromBase, toBase)

Argumentumok

  • num: Számokat STRING kifejező kifejezés a következőben fromBase: .
  • fromBase: A INTEGER forrásbázist jelző kifejezés.
  • toBase: A INTEGER 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 a BIGINT.

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