conv
函式
適用於:Databricks SQL Databricks Runtime
num
fromBase
toBase
從轉換為。
語法
conv(num, fromBase, toBase)
引數
-
num
STRING
:表達式,表示 中的fromBase
數位。 -
fromBase
INTEGER
:表示來源基底的表達式。 -
toBase
INTEGER
:表示目標基底的表達式。
傳回
STRING
。
函式支援基底 2 到基底 36。
數位 'A' (或 'a') 代表十進位 10 和 'Z' (或 'z') 代表十進位 35。
values 支援的範圍與 BIGINT
的範圍相同。
如果 fromBase
小於 2,或 toBase
為 -1、0 或 1,則結果為 NULL
。
如果 toBase
為負 num
數,則會解譯為帶正負號的數字,否則會將其視為不帶正負號的數位。
如果 num
超出 Databricks SQL 和 Databricks Runtime 13.3 LTS 和更新版本的範圍,則會 引發ARITHMETIC_OVERFLOW。
警告
如果 databricks Runtime spark.sql.ansi.enabled 為 false
,則溢位不會造成錯誤,而是會改為「包裝」結果。
範例
> 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