Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime
num öğesini fromBase'den toBase'ye dönüştürür.
Söz dizimi
conv(num, fromBase, toBase)
Argümanlar
-
num:STRINGifadesifromBaseiçinde bir sayıyı ifade eder. -
fromBaseINTEGER: Kaynak tabanı belirten bir ifade. -
toBaseINTEGER: 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