Share via


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'den öğesine fromBasetoBasedönüştürür.

Söz dizimi

conv(num, fromBase, toBase)

Bağımsız değişkenler

  • numSTRING: içinde fromBasebir sayıyı ifade eden ifade.
  • fromBaseINTEGER: Kaynak tabanı belirten bir ifade.
  • toBaseINTEGER: Hedef tabanı belirten bir ifade.

Döndürülenler

Bir STRING.

işlevi 2 tabanından 36 tabanına kadar destekler. 'A' (veya 'a'), ondalık 10'a ve 'Z' (veya 'z') ondalık 35'i temsil eder. Desteklenen değer aralığı, değerinin BIGINTaralığıdır.

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.

Aralık dışındaysa num Databricks SQL ve Databricks Runtime 13.3 LTS ve üzeri bir ARITHMETIC_OVERFLOW 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