Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция
Область применения:
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.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