適用於:
Databricks SQL
Databricks Runtime
num
fromBase
toBase從轉換為。
語法
conv(num, fromBase, toBase)
引數
-
numSTRING:表達式,表示 中的fromBase數位。 -
fromBaseINTEGER:表示來源基底的表達式。 -
toBaseINTEGER:表示目標基底的表達式。
傳回
STRING。
函式支援基底 2 到基底 36。
數位 'A' (或 'a') 代表十進位 10 和 'Z' (或 'z') 代表十進位 35。
支援的值範圍包含在 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