conv-functie

Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime

Converteert num van fromBase naar toBase.

Syntaxis

conv(num, fromBase, toBase)

Argumenten

  • num: Een STRING expressie waarin een getal wordt weergegeven in fromBase.
  • fromBase: Een INTEGER expressie die de bronbasis aangeeft.
  • toBase: Een INTEGER expressie die de doelbasis aangeeft.

Retouren

A STRING.

De functie ondersteunt basis 2 tot grondtal 36. Het cijfer 'A' (of 'a') vertegenwoordigt decimaal 10 en 'Z' (of 'z') vertegenwoordigt decimal 35. Het ondersteunde bereik van waarden omvat dat van een BIGINT.

Als fromBase dit kleiner is dan 2 of toBase -1, 0 of 1 is, is NULLhet resultaat.

Als toBase een negatief num getal wordt geïnterpreteerd als een ondertekend getal, anders wordt het zo behandeld als een niet-ondertekend getal.

Als num databricks SQL en Databricks Runtime 13.3 LTS buiten het bereik vallen, wordt er een ARITHMETIC_OVERFLOW gemaakt.

Waarschuwing

In Databricks Runtime als spark.sql.ansi.enabled is, veroorzaakt falseeen overloop geen fout, maar 'verpakt' het resultaat.

Voorbeelden

> 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