Share via


Funzione conv

Si applica a:segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime

Converte num da fromBase a toBase.

Sintassi

conv(num, fromBase, toBase)

Argomenti

  • numSTRING: espressione che esprime un numero in fromBase.
  • fromBaseINTEGER: espressione che indica la base di origine.
  • toBaseINTEGER: espressione che indica la base di destinazione.

Valori restituiti

Un oggetto STRING.

La funzione supporta da base 2 a base 36. La cifra 'A' (o 'a') rappresenta decimale 10 e 'Z' (o 'z') rappresenta il separatore decimale 35. L'intervallo di valori supportati si estende su quello di un oggetto BIGINT.

Se fromBase è minore di 2 o toBase è -1, 0 o 1, il risultato è NULL.

Se toBase è negativo num viene interpretato come un numero con segno, in caso contrario viene considerato come un numero senza segno.

Se num non è compreso nell'intervallo SQL e Databricks Runtime 13.3 LTS e versioni successive genera un ARITHMETIC_OVERFLOW.

Avviso

In Databricks Runtime se spark.sql.ansi.enabled è false, un overflow non genera un errore ma "esegue il wrapping" del risultato.

Esempi

> 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