Sdílet prostřednictvím


Funkce conv

Platí pro:zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime

num Převede z fromBase na toBase.

Syntaxe

conv(num, fromBase, toBase)

Argumenty

  • num: Výraz STRING vyjadřující číslo v fromBase.
  • fromBase: Výraz INTEGER označující zdrojovou základnu.
  • toBase: Výraz INTEGER označující cílovou základnu.

Návraty

Úloha STRING.

Funkce podporuje základ 2 až base 36. Číslice A (nebo a) představuje desetinné číslo 10 a Z (nebo z) desítkové číslo 35. Rozsah podporovaných hodnot zahrnuje BIGINTrozsah hodnot .

Pokud fromBase je menší než 2 nebo toBase je -1, 0 nebo 1, je výsledek NULL.

Pokud toBase je záporné num číslo interpretováno jako číslo se znaménkem, jinak se považuje za nepodepsané číslo.

Pokud num je databricks SQL a Databricks Runtime 13.3 LTS a novější mimo rozsah, zvýší ARITHMETIC_OVERFLOW.

Upozorňující

Pokud je ve službě Databricks Runtime spark.sql.ansi.enabledfalse, přetečení nezpůsobí chybu, ale místo toho výsledek zabalí.

Příklady

> 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