Función conv
Se aplica a: Databricks SQL Databricks Runtime
Convierte num
de fromBase
a toBase
.
Sintaxis
conv(num, fromBase, toBase)
Argumentos
num
: EnSTRING
expresión que expresa un número enfromBase
.fromBase
: EnINTEGER
expresión que denota la base de origen.toBase
: EnINTEGER
que denota la base de destino.
Devoluciones
STRING
.
La función admite de la base 2 a la base 36.
El dígito "A" (o "a") representa el decimal 10 y "Z" (o "z") representa el decimal 35.
El intervalo de valores admitidos abarca el de BIGINT
.
Si fromBase
es menor que 2 o toBase
es -1, 0 o 1, el resultado es NULL
.
Si toBase
es negativo num
se interpreta como un número con signo; de lo contrario, se trata como un número sin signo.
Si num
está fuera del intervalo Databricks SQL y Databricks Runtime 13.3 LTS y versiones posteriores, genera una ARITHMETIC_OVERFLOW.
Advertencia
En Databricks Runtime, si spark.sql.ansi.enabled es false
, un desbordamiento no provoca un error, sino que "ajusta" el resultado en su lugar.
Ejemplos
> 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