Udostępnij za pośrednictwem


Funkcja conv

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime

Konwertuje num z fromBase na toBase.

Składnia

conv(num, fromBase, toBase)

Argumenty

  • num: wyrażenie STRING wyrażające liczbę w elem fromBase.
  • fromBaseINTEGER: wyrażenie oznaczające bazę źródłową.
  • toBaseINTEGER: Wyrażenie oznaczające bazę docelową.

Zwraca

Klasa STRING.

Funkcja obsługuje od base 2 do base 36. Cyfra "A" (lub "a") reprezentuje dziesiętne 10 i "Z" (lub "z"). Obsługiwany zakres wartości obejmuje zakres wartości.BIGINT

Jeśli fromBase wartość jest mniejsza niż 2 lub toBase wynosi -1, 0 lub 1, wynik to NULL.

Jeśli toBase wartość ujemna num jest interpretowana jako liczba podpisana, w przeciwnym razie jest traktowana jako niepodpisany numer.

Jeśli num nie ma zakresu usług Databricks SQL i Databricks Runtime 13.3 LTS i nowszych , zgłasza ARITHMETIC_OVERFLOW.

Ostrzeżenie

W środowisku Databricks Runtime, jeśli spark.sql.ansi.enabled to false, przepełnienie nie powoduje błędu, ale "owija" wynik.

Przykłady

> 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