Compartir a través de


Función conv

Se aplica a:casilla marcada como Sí Databricks SQL casilla marcada como Sí Databricks Runtime

Convierte num de fromBase a toBase.

Sintaxis

conv(num, fromBase, toBase)

Argumentos

  • num: En STRING expresión que expresa un número en fromBase.
  • fromBase: En INTEGER expresión que denota la base de origen.
  • toBase: En INTEGER 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