Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Função
Aplica-se a:
Databricks SQL
Databricks Runtime
Converte num de fromBase para toBase.
Sintaxe
conv(num, fromBase, toBase)
Argumentos
-
num: UmaSTRINGexpressão que expressa um número emfromBase. -
fromBase: UmaINTEGERexpressão que denota a base de origem. -
toBase: UmaINTEGERexpressã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