Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:
Databricks SQL
Databricks Runtime
Mengonversi num dari fromBase ke toBase.
Sintaks
conv(num, fromBase, toBase)
Argumen
-
num: EkspresiSTRINGyang mengekspresikan angka dalamfromBase. -
fromBase: EkspresiINTEGERyang menunjukkan basis sumber. -
toBase: EkspresiINTEGERyang menunjukkan basis target.
Pengembalian
STRING.
Fungsi ini mendukung basis 2 hingga basis 36.
Digit 'A' (atau 'a') mewakili desimal 10 dan 'Z' (atau 'z') mewakili desimal 35.
Rentang nilai yang didukung mencakup keseluruhan dari BIGINT.
Jika fromBase kurang dari 2, atau toBase -1, 0, atau 1, maka hasilnya adalah NULL.
Jika toBase negatif num ditafsirkan sebagai angka yang ditandatangani, jika tidak, maka diperlakukan sebagai angka yang tidak ditandatangani.
Jika num berada di luar rentang, Databricks SQL dan Databricks Runtime 13.3 LTS ke atas menghasilkan ARITHMETIC_OVERFLOW.
Peringatan
Dalam Databricks Runtime, jika spark.sql.ansi.enabled adalah false, pembeludakan tidak menyebabkan kesalahan tetapi malah "membungkus" hasilnya.
Kondisi kesalahan umum
Contoh
> 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