Aracılığıyla paylaş


conv işlevi

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

num öğesini fromBase'den toBase'ye dönüştürür.

Söz dizimi

conv(num, fromBase, toBase)

Argümanlar

  • num: STRING ifadesi fromBase içinde bir sayıyı ifade eder.
  • fromBase INTEGER: Kaynak tabanı belirten bir ifade.
  • toBase INTEGER: Hedef tabanı belirten bir ifade.

İadeler

Bir STRING.

Fonksiyon, 2 tabanından 36 tabanına kadar tabanları destekler. 'A' (veya 'a'), ondalık sistemde 10'a, 'Z' (veya 'z') ise ondalık sistemde 35'e karşılık gelir. Desteklenen değer aralığı, bir BIGINTaralığı kadar geniştir.

2'den küçükse fromBase veya toBase -1, 0 veya 1 ise sonuç olur NULL.

Negatif toBase ise num , imzalı bir sayı olarak yorumlanır, aksi takdirde imzasız bir sayı olarak kabul edilir.

num aralık dışındaysa, Databricks SQL ve Databricks Runtime 13.3 LTS ve üzeri bir ARITHMETIC_OVERFLOW hatası oluşturur.

Uyarı

Databricks Runtime'da spark.sql.ansi.enabled ise false, taşma bir hataya neden olmaz ancak sonucu "sarmalar".

Örnekler

> 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