Compartilhar via


Função conv

Aplica-se a: marca de seleção positiva SQL do Databricks marca de seleção positiva Runtime do Databricks

Converte num de fromBase em toBase.

Sintaxe

conv(num, fromBase, toBase)

Argumentos

  • num: Uma expressão STRING que expressa um número em fromBase.
  • fromBase: Uma expressão INTEGER que denota a base de origem.
  • toBase: Uma expressão INTEGER que denota a base de destino.

Retornos

Um STRING.

A função é compatível com as bases 2 a 36. O dígito "A" (ou "A") representa o decimal 10 e "Z" (ou "z") representa o decimal 35. O intervalo de valores com suporte abrange o de um BIGINT.

Se fromBase for menor que 2, ou toBase for -1, 0 ou 1, o resultado será NULL.

Se toBase for negativo, num será interpretado como um único número conectado; caso contrário, será tratado como um número sem sinal.

Se num estiver fora do intervalo Databricks SQL e Databricks Runtime 13.3 LTS e superior gera um ARITHMETIC_OVERFLOW.

Aviso

No Databricks Runtime, se spark.sql.ansi.enabled for false, um estouro não causará um erro, mas "encapsulará" o resultado.

Exemplos

> 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