Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Função
Aplica-se a:
SQL do Databricks
Runtime do Databricks
Converte num de fromBase em toBase.
Sintaxe
conv(num, fromBase, toBase)
Argumentos
-
num: Uma expressãoSTRINGque expressa um número emfromBase. -
fromBase: Uma expressãoINTEGERque denota a base de origem. -
toBase: Uma expressãoINTEGERque 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 decimal 10 e 'Z' (ou 'z') representa 35 decimais.
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