共用方式為


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.enabledfalse,則溢位不會造成錯誤,而是會改為「包裝」結果。

範例

> 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