Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Função
Aplica-se a: Databricks SQL
Databricks Runtime
Converte num
de fromBase
para toBase
.
Sintaxe
conv(num, fromBase, toBase)
Argumentos
-
num
: UmaSTRING
expressão que expressa um número emfromBase
. -
fromBase
: UmaINTEGER
expressão que denota a base de origem. -
toBase
: UmaINTEGER
expressão que denota a base de destino.
Devoluções
Um STRING
.
A função suporta base 2 a base 36.
O algarismo «A» (ou «a») representa o número decimal 10 e «Z» (ou «z») representa o número decimal 35.
O intervalo de valores suportados abrange o de um BIGINT
.
Se fromBase
for menor que 2, ou toBase
for -1, 0, ou 1, então o resultado será NULL
.
Se toBase
for negativo num
é interpretado como um número assinado, caso contrário, é tratado como um número não assinado.
Se num
estiver fora do intervalo, o Databricks SQL e o Databricks Runtime 13.3 LTS e versões superiores geram um ARITHMETIC_OVERFLOW.
Aviso
No Databricks Runtime, se spark.sql.ansi.enabled estiver ativado, um overflow não causa um erro, mas continua 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