Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция
Область применения:
Databricks SQL
Databricks Runtime
Возвращает значение expr, округленное с использованием режима округления HALF_UP.
Синтаксис
round(expr [, targetScale] )
Аргументы
expr: числовое выражение.targetScale:INTEGERвыражение. ЕслиtargetScaleопущено значение по умолчанию равно 0 (целое число).В Databricks SQL и Databricks Runtime 12.2 LTS и более поздних версиях: если
targetscaleотрицательное округление выполняется для положительных10сил.
Возвраты
Если expr результатом DECIMAL является DECIMAL шкала, которая меньше expr масштаба и targetScale.
Для всех других числовых типов тип результата совпадает expr.
При округлении HALF_UP цифра 5 всегда округляется вверх.
Для HALF_EVEN округления используйте функцию bround.
Для целочисленных числовых типов Azure Databricks возникает ошибка ARITHMETIC_OVERFLOW при переполнении округленного значения типа результата.
Предупреждение
В Databricks Runtime 12.2 LTS и ниже, а также в среде выполнения Databricks, если spark.sql.ansi.enabledfalse, переполнение не приводит к ошибке, но "обтекает" результат вместо этого.
Распространенные условия ошибки
Примеры
> SELECT bround(2.5, 0), round(2.5, 0);
2 3
> SELECT bround(3.5, 0), round(3.5, 0);
4 4
> SELECT bround(2.6, 0), round(2.6, 0);
3 3
> SELECT bround(2.25, 1), round(2.25, 1);
2.2 2.3
> SELECT bround(13.5, -1), round(13.5, -1);
10 10
-- Rounding 127 to the nearest 10 produces 130, which overflows TINYINT.
> SELECT round(cast(127 AS TINYINT), -1);
Error: ARITHMETIC_OVERFLOW