mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-18 21:51:57 +00:00
40 lines
3.2 KiB
ReStructuredText
40 lines
3.2 KiB
ReStructuredText
|
Функции округления
|
|||
|
----------------
|
|||
|
|
|||
|
floor(x[, N])
|
|||
|
~~~~~~~
|
|||
|
Возвращает наибольшее круглое число, которое меньше или равно, чем x.
|
|||
|
Круглым называется число, кратное 1 / 10N или ближайшее к нему число соответствующего типа данных, если 1 / 10N не представимо точно.
|
|||
|
N - целочисленная константа, не обязательный параметр. По умолчанию - ноль, что означает - округлять до целого числа.
|
|||
|
N может быть отрицательным.
|
|||
|
|
|||
|
Примеры: ``floor(123.45, 1) = 123.4, floor(123.45, -1) = 120.``
|
|||
|
|
|||
|
``x`` - любой числовой тип. Результат - число того же типа.
|
|||
|
Для целочисленных аргументов имеет смысл округление с отрицательным значением N (для неотрицательных N, функция ничего не делает).
|
|||
|
В случае переполнения при округлении (например, floor(-128, -1)), возвращается implementation specific результат.
|
|||
|
|
|||
|
ceil(x[, N])
|
|||
|
~~~~~~
|
|||
|
Возвращает наименьшее круглое число, которое больше или равно, чем x.
|
|||
|
В остальном, аналогично функции floor, см. выше.
|
|||
|
|
|||
|
round(x[, N])
|
|||
|
~~~~~~~
|
|||
|
Возвращает ближайшее к num круглое число, которое может быть меньше или больше или равно x.
|
|||
|
Если x находится посередине от ближайших круглых чисел, то возвращается какое-либо одно из них (implementation specific).
|
|||
|
Число -0. может считаться или не считаться круглым (implementation specific).
|
|||
|
В остальном, аналогично функциям floor и ceil, см. выше.
|
|||
|
|
|||
|
roundToExp2(num)
|
|||
|
~~~~~~~~
|
|||
|
Принимает число. Если число меньше единицы - возвращает 0. Иначе округляет число вниз до ближайшей (целой неотрицательной) степени двух.
|
|||
|
|
|||
|
roundDuration(num)
|
|||
|
~~~~~~~~
|
|||
|
Принимает число. Если число меньше единицы - возвращает 0. Иначе округляет число вниз до чисел из набора: 1, 10, 30, 60, 120, 180, 240, 300, 600, 1200, 1800, 3600, 7200, 18000, 36000. Эта функция специфична для Яндекс.Метрики и предназначена для реализации отчёта по длительности визита.
|
|||
|
|
|||
|
roundAge(num)
|
|||
|
~~~~~~~
|
|||
|
Принимает число. Если число меньше 18 - возвращает 0. Иначе округляет число вниз до чисел из набора: 18, 25, 35, 45. Эта функция специфична для Яндекс.Метрики и предназначена для реализации отчёта по возрасту посетителей.
|