Функция floor

Область применения:проверка помечены да Databricks SQL проверка помечены да Databricks Runtime 10.4 LTS и выше

Возвращает наибольшее число не больше expr с округлением до targetScale цифр после запятой.

Синтаксис

floor(expr [, targetScale])

Аргументы

  • expr: выражение, значением которого является число.
  • targetScale: необязательный литерал INTEGER больше -38, указывающий количество цифр после запятой для округления в меньшую сторону.

Возвраты

Если targetScale не указан:

  • Если параметр expr имеет значение DECIMAL(p, s), возвращается DECIMAL(p - s + 1, 0).
  • Во всех остальных случаях возвращается значение типа BIGINT.

Если указан targetScale, а expr имеет следующее значение:

  • TINYINT

    Возвращает DECIMAL(p, 0) с p = max(3, -targetScale + 1).

  • SMALLINT

    Возвращает DECIMAL(p, 0) с p = max(5, -targetScale + 1).

  • INTEGER

    Возвращает DECIMAL(p, 0) с p = max(10, -targetScale + 1)).

  • BIGINT

    Возвращает DECIMAL(p, 0) с p = max(20, -targetScale + 1)).

  • FLOAT

    Возвращает DECIMAL(p, s) с p = max(14, -targetScale + 1)) и s = min(7, max(0, targetScale)).

  • DOUBLE

    Возвращает DECIMAL(p, s) с p = max(30, -targetScale + 1)) и s = min(15, max(0, targetScale)).

  • DECIMAL(p_in, s_in)

    Возвращает DECIMAL(p, s) с p = max(p_in - s_in + 1, -targetScale + 1)) и s = min(s_in, max(0, targetScale)).

Если targetScale принимает отрицательное значение, происходит округление до -targetScale порядка.

Значение targetScale по умолчанию равно 0, что округляется в меньшую сторону до следующего целого числа по убыванию.

Примеры

> SELECT floor(-0.1);
 -1

> SELECT floor(5);
 5

> SELECT floor(3345.1, -2);
 3300

> SELECT floor(-12.345, 1);
 -12.4