Математические функции

В качестве аргументов функций могут использоваться значения типа (U)Int*, Float* или Decimal*, если не указано иное.

Арифметические функции рассмотрены отдельно.

Точность получаемых результатов приближена к максимально возможной. Полученные значения могут не совпадать точно с ближайшими к ним числами, представимыми в машинном представлении.

Набор поддерживаемых функций RQL и их поведение зависят от версии установленного ClickHouse. Если функция не поддерживается в используемой версии ClickHouse, она также не будет доступна в RQL.

Ознакомиться с актуальным списком функций и их поведением можно в официальной документации ClickHouse.

Обратите внимание, что для функций в официальной документации ClickHouse может быть указана версия, в которой эти функции были введены. Это позволит определить, доступна ли рассматриваемая функция в вашей версии ClickHouse.

Функции математических констант и проверки знака

Функция Описание

e()

Возвращает константу Эйлера e (основание натурального логарифма) типа Float64, приблизительно равную 2.718. Функция не принимает параметров.

pi()

Возвращает число π ("пи") типа Float64, приблизительно равное 3.14159. Функция не принимает параметров.

sign(x)

Возвращает знак числа x. Возвращаемое значение зависит от аргумента:

  • -1 — если x меньше 0.

  • 0 — если x равно 0.

  • 1 — если x больше 0.

Функции возведения в степень и извлечения корня

Функция Описание

cbrt(x)

Возвращает корень третьей степени из числа x в виде значения типа Float*.

exp(x)

Возвращает число e в степени числа x в виде значения типа Float*.

exp10(x)

Возвращает 10 в степени числа x в виде значения типа Float*.

exp2(x)

Возвращает 2 в степени числа x в виде значения типа Float*.

intExp10(x)

Аналог exp10(x), но возвращает значение типа UInt64.

intExp2(x)

Аналог exp2(x), но возвращает значение типа UInt64.

pow(x, y)
power(x, y)

Возводит число x в степень y и возвращает результат типа Float64.

sqrt(x)

Возвращает квадратный корень числа x в виде значения типа Float*. Параметр x — неотрицательное число.

Логарифмические функции

Функция Описание

log(x)
ln(x)

Возвращает натуральный логарифм числа x в виде значения типа Float*. Параметр x — строго положительное число.

log10(x)

Возвращает десятичный логарифм числа x в виде значения типа Float*. Параметр x — строго положительное число.

log1p(x)

Возвращает логарифм от значения 1 + x в виде значения типа Float64. Параметр x — значение в диапазоне (-1, +∞). Вычисление log1p(x) более точно, чем log(1+x), для малых значений x.

log2(x)

Возвращает двоичный логарифм числа x в виде значения типа Float*. Параметр x — строго положительное число.

Тригонометрические функции

Функция Описание

acos(x)

Возвращает арккосинус числа x в виде значения типа Float*. Параметр x — значение в диапазоне [-1, 1]. Результат возвращается в радианах в диапазоне [0, π].

acosh(x)

Возвращает обратный гиперболический косинус числа x в виде значения типа Float64. Параметр x — значение в диапазоне [1, +∞). Область возвращаемых значений в диапазоне [0, +∞).

asin(x)

Возвращает арксинус числа x в виде значения типа Float64. Параметр x — значение в диапазоне [-1, 1]. Результат возвращается в радианах в диапазоне [-π/2, π/2].

asinh(x)

Возвращает обратный гиперболический синус числа x в виде значения типа Float64. Область возвращаемых значений в диапазоне (-∞, +∞).

atan(x)

Возвращает арктангенс числа x в виде значения типа Float*. Результат возвращается в радианах в диапазоне (-π/2, π/2).

atan2(y, x)

Возвращает угол в радианах (в диапазоне (-π, π]) между положительной осью X и лучом, проведенным из начала координат в точку (x, y) в виде значения типа Float64. Параметр x — координата X точки. Параметр y — координата Y точки.

atanh(x)

Возвращает обратный гиперболический тангенс числа x в виде значения типа Float64. Параметр x — значение в диапазоне (-1, 1). Область возвращаемых значений в диапазоне (-∞, +∞).

cos(x)

Возвращает косинус угла x, заданного в радианах, в виде значения типа Float*.

cosh(x)

Возвращает гиперболический косинус угла x, заданного в радианах, в виде значения типа Float64. Область возвращаемых значений в диапазоне [1, +∞).

degrees(x)

Преобразует значение угла x из радианов в градусы. Возвращает число типа Float64.

hypot(x, y)

Возвращает длину гипотенузы прямоугольного треугольника по длинам его катетов x и y в виде значения типа Float64. Параметры x и y — любые числовые значения. Реализация функции защищает от переполнения или потери точности при очень больших или очень малых значениях.

radians(x)

Преобразует значение угла x из градусов в радианы. Возвращает число типа Float64.

sin(x)

Возвращает синус угла x, заданного в радианах, в виде значения типа Float64.

sinh(x)

Возвращает гиперболический синус угла x, заданного в радианах, в виде значения типа Float64. Область возвращаемых значений в диапазоне (-∞, +∞).

tan(x)

Возвращает тангенс угла x, заданного в радианах, в виде значения типа Float*.

tanh(x)

Возвращает гиперболический тангенс угла x, заданного в радианах, в виде значения типа Float*. Область возвращаемых значений в диапазоне (-1, 1).

Статистические функции

Функция Описание

erf(x)

Возвращает значение функции ошибок (интеграл вероятности) типа Float*. Показывает вероятность того, что случайная величина с нормальным распределением отклонится от математического ожидания не более чем на x (при стандартном отклонении, нормированном на √2).

erfc(x)

Возвращает значение дополнительной функции ошибок (1 - erf(x)) типа Float*. Сохраняет высокую точность вычислений при больших значениях x, когда обычное вычитание из единицы привело бы к потере значащих цифр.

proportionsZTest(successes_x, successes_y, trials_x, trials_y, conf_level, pool_type)

Выполняет Z-тест для сравнения двух пропорций (долей успехов) в независимых выборках. Возвращает кортеж (z_stat, p_val, ci_low, ci_high) типа Float64, содержащий значение Z-статистики, p-значение, нижнюю и верхнюю границы доверительного интервала.

  • successes_x — количество успехов в первой выборке. Значение типа UInt64.

  • successes_y — количество успехов во второй выборке. Значение типа UInt64.

  • trials_x — общее количество испытаний в первой выборке. Значение типа UInt64.

  • trials_y — общее количество испытаний во второй выборке. Значение типа UInt64.

  • conf_level — доверительный уровень. Значение типа Float64 в диапазоне (0, 1).

  • pool_type — метод объединения для стандартной ошибки. Принимает только строковые значения pooled (объединенная) или unpooled (раздельная оценка).

В объединенном варианте две пропорции усредняются и для оценки стандартной ошибки используется только одна пропорция. В раздельном варианте две пропорции используются по отдельности.

sigmoid(x)

Вычисляет сигмоидную функцию (1/(1 + exp(-x))). Отображает число x типа (U)Int* или Float* в диапазоне (0, 1). Возвращает сигмоиду типа Float64.

widthBucket(operand, low, high, count)
width_bucket(operand, low, high, count)

Вычисляет номер бакета, в который попадает параметр operand в гистограмме, состоящей из count бакетов одинаковой ширины, охватывающих диапазон от low до high. Возвращает 0, если operand меньше low, и count+1, если operand больше или равен high.

  • operand — значение, для которого нужно определить бакет. Значение типа (U)Int8/16/32/64.

  • low — нижняя граница диапазона гистограммы. Значение типа (U)Int8/16/32/64.

  • high — верхняя граница диапазона гистограммы. Значение типа (U)Int8/16/32/64.

  • count — положительное количество бакетов одинаковой ширины. Значение типа UInt8/16/32/64.

Псевдоним width_bucket регистронезависим.

Гамма-функция и факториал

Функция Описание

factorial(x)

Вычисляет факториал целого числа x типа (U)Int8/16/32/64 в виде значения типа UInt64. Если x равно 0 или имеет отрицательное значение, функция возвращает 1. Максимальное положительное значение x — 20, значение 21 или больше приведет к исключению.

lgamma(x)

Вычисляет натуральный логарифм гамма-функции от числа x. Возвращает результат типа Float*.

tgamma(x)

Вычисляет гамма-функцию от числа x. Возвращает результат типа Float*.

Была ли полезна эта страница?

Обратная связь