Перейти к основному содержимому
Перейти к основному содержимому

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

acos

Впервые появилась в версии v1.1

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

Синтаксис

acos(x)

Аргументы

  • x — Значение, для которого вычисляется арккосинус. (U)Int* или Float* или Decimal*

Возвращаемое значение

Возвращает арккосинус от x типа Float*

Примеры

Пример использования

SELECT acos(0.5);
1.0471975511965979

acosh

Появилась в версии: v20.12

Возвращает обратный гиперболический косинус.

Синтаксис

acosh(x)

Аргументы

  • x — гиперболический косинус угла. Значения из интервала: 1 ≤ x < +∞. (U)Int* или Float* или Decimal*

Возвращаемое значение

Возвращает угол в радианах. Значения из интервала: 0 ≤ acosh(x) < +∞. Float64

Примеры

Пример использования

SELECT acosh(1)
0

asin

Добавлена в: v1.1

Вычисляет арксинус переданного аргумента. Для аргументов в диапазоне [-1, 1] возвращает значение в диапазоне [-pi() / 2, pi() / 2].

Синтаксис

asin(x)

Аргументы

  • x — аргумент, для которого нужно вычислить арксинус. (U)Int* или Float*, или Decimal

Возвращаемое значение

Возвращает значение арксинуса аргумента x типа Float64

Примеры

обратная функция

SELECT asin(1.0) = pi() / 2, sin(asin(1)), asin(sin(1))
1 1 1

float32

SELECT toTypeName(asin(1.0::Float32))
Float64

nan

SELECT asin(1.1), asin(-2), asin(inf), asin(nan)
nan nan nan nan

asinh

Добавлено в версии: v20.12

Возвращает обратный гиперболический синус.

Синтаксис

asinh(x)

Аргументы

  • x — значение гиперболического синуса угла. Значения из интервала: -∞ < x < +∞. (U)Int* или Float* или Decimal*

Возвращаемое значение

Возвращает угол в радианах. Значения из интервала: -∞ < asinh(x) < +∞. Float64

Примеры

Базовый пример

SELECT asinh(0)
0

atan

Впервые появилась в версии v1.1

Возвращает арктангенс от аргумента.

Синтаксис

atan(x)

Аргументы

  • x — значение, для которого вычисляется арктангенс. (U)Int* или Float* или Decimal*

Возвращаемое значение

Возвращает арктангенс от x. Float*

Примеры

Пример использования

SELECT atan(1);
0.7853981633974483

atan2

Добавлено в: v20.12

Возвращает atan2 — угол на евклидовой плоскости, заданный в радианах, между положительной осью X и лучом к точке (x, y) ≠ (0, 0).

Синтаксис

atan2(y, x)

Аргументы

  • y — y-координата точки, через которую проходит луч. (U)Int* или Float* или Decimal*
  • x — x-координата точки, через которую проходит луч. (U)Int* или Float* или Decimal*

Возвращаемое значение

Возвращает угол θ, удовлетворяющий условию -π < θ ≤ π, в радианах типа Float64

Примеры

Пример использования

SELECT atan2(1, 1)
0.7853981633974483

atanh

Добавлена в версии: v20.12

Возвращает обратный гиперболический тангенс.

Синтаксис

atanh(x)

Аргументы

  • x — значение гиперболического тангенса угла. Значения из интервала: -1 < x < 1. (U)Int*, Float* или Decimal*. (U)Int* или Float* или Decimal*

Возвращаемое значение

Возвращает угол в радианах. Значения из интервала: -∞ < atanh(x) < +∞ Float64

Примеры

Пример использования

SELECT atanh(0)
0

cbrt

Добавлено в версии: v1.1

Возвращает кубический корень аргумента.

Синтаксис

cbrt(x)

Аргументы

  • x — значение, кубический корень которого нужно найти. (U)Int* или Float* или Decimal*

Возвращаемое значение

Возвращает кубический корень x. Float*

Примеры

Пример использования

SELECT cbrt(8);
2

cos

Добавлено в версии: v1.1

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

Синтаксис

cos(x)

Аргументы

Возвращаемое значение

Возвращает гиперболический косинус x. Float*

Примеры

Пример использования

SELECT cos(0);
1

cosh

Введена в версии: v20.12

Возвращает гиперболический косинус аргумента.

Синтаксис

cosh(x)

Аргументы

  • x — угол в радианах. Значения на интервале: -∞ < x < +∞. (U)Int*, Float* или Decimal*

Возвращаемое значение

Возвращает значение из интервала: 1 ≤ cosh(x) < +∞ Float64

Примеры

Базовое использование

SELECT cosh(0)
1

degrees

Добавлена в версии v22.2

Преобразует радианы в градусы.

Синтаксис

degrees(x)

Аргументы

Возвращаемое значение

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

Примеры

Базовое использование

SELECT degrees(3.141592653589793)
180

e

Введена в версии v1.1

Возвращает константу Эйлера (e).

Синтаксис

e()

Аргументы

  • Нет.

Возвращаемое значение

Возвращает постоянную Эйлера Float64

Примеры

Пример использования

SELECT e();
2.718281828459045

erf

Введена в: v1.1

Если x неотрицательно, то erf(x/(σ√2)) — это вероятность того, что случайная величина, имеющая нормальное распределение со стандартным отклонением σ, примет значение, отличающееся от математического ожидания более чем на x.

Синтаксис

erf(x)

Аргументы

  • x — Значение, для которого вычисляется функция ошибок. (U)Int* или Float* или Decimal*

Возвращаемое значение

Возвращает значение функции ошибок типа Float*

Примеры

Правило трёх сигм

SELECT erf(3 / sqrt(2))
┌─erf(divide(3, sqrt(2)))─┐
│      0.9973002039367398 │
└─────────────────────────┘

erfc

Введена в версии: v1.1

Возвращает число, близкое к 1-erf(x), без потери точности для больших значений x.

Синтаксис

erfc(x)

Аргументы

  • x — Значение, для которого нужно найти значение функции ошибок. (U)Int* или Float* или Decimal*

Возвращаемое значение

Возвращает значение дополнительной функции ошибок типа Float*

Примеры

Пример использования

SELECT erfc(0);
1

exp

Добавлена в: v1.1

Возвращает число e в степени x, где x — аргумент функции.

Синтаксис

exp(x)

Аргументы

Возвращаемое значение

Возвращает значение e^x типа Float*

Примеры

Базовое использование

SELECT round(exp(-1), 4)
┌─round(exp(-1), 4)─┐
│            0.3679 │
└───────────────────┘

exp10

Впервые представлена в: v1.1

Возвращает 10 в степени указанного аргумента.

Синтаксис

exp10(x)

Аргументы

Возвращаемое значение

Возвращает значение 10^x типа Float*

Примеры

Пример использования

SELECT exp10(2);
100

exp2

Появилась в версии: v1.1

Возвращает 2 в степени, заданной аргументом.

Синтаксис

exp2(x)

Аргументы

Возвращаемое значение

Возвращает 2^x как значение типа Float*

Примеры

Пример использования

SELECT exp2(3);
8

factorial

Добавлена в версии: v22.11

Вычисляет факториал целого числа. Факториал 0 равен 1. Аналогично, функция factorial() возвращает 1 для любого отрицательного значения. Максимальное положительное значение входного аргумента — 20, значение 21 или больше приведёт к исключению.

Синтаксис

factorial(n)

Аргументы

  • n — целочисленное значение, для которого нужно вычислить факториал. Максимальное значение — 20. (U)Int8/16/32/64

Возвращаемое значение

Возвращает факториал аргумента типа UInt64. Возвращает 1 для аргумента 0 или любого отрицательного значения. UInt64

Примеры

Пример использования

factorial(10)
3628800

hypot

Появилась в: v20.12

Возвращает длину гипотенузы прямоугольного треугольника. Функция hypot позволяет избежать проблем, возникающих при возведении в квадрат очень больших или очень малых чисел.

Синтаксис

hypot(x, y)

Аргументы

  • x — первый катет прямоугольного треугольника. (U)Int* или Float* или Decimal*
  • y — второй катет прямоугольного треугольника. (U)Int* или Float* или Decimal*

Возвращаемое значение

Возвращает длину гипотенузы прямоугольного треугольника. Float64

Примеры

Базовое использование

SELECT hypot(1, 1)
1.4142135623730951

intExp10

Добавлена в версии v1.1

Аналог функции exp10, но возвращает число типа UInt64.

Синтаксис

intExp10(x)

Аргументы

  • x — показатель степени. Int* или UInt* или Float*

Возвращаемое значение

Возвращает 10^x как значение типа UInt64.

Примеры

Пример использования

SELECT intExp10(2);
100

intExp2

Впервые появилась в версии v1.1

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

Синтаксис

intExp2(x)

Аргументы

  • x — показатель степени. Int* или UInt* или Float*

Возвращаемое значение

Возвращает 2^x. UInt64

Примеры

Пример использования

SELECT intExp2(3);
8

lgamma

Появилась в версии: v1.1

Возвращает логарифм гамма-функции.

Синтаксис

lgamma(x)

Аргументы

  • x — число, для которого нужно вычислить логарифм гамма-функции. (U)Int* или Float* или Decimal*

Возвращаемое значение

Возвращает логарифм гамма-функции от x. Float*

Примеры

Пример использования

SELECT lgamma(5);
3.1780538303479458

log

Впервые добавлена в: v1.1

Возвращает натуральный логарифм аргумента.

Синтаксис

log(x)

Псевдонимы: ln

Аргументы

  • x — число, для которого вычисляется натуральный логарифм. (U)Int* или Float* или Decimal*

Возвращаемое значение

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

Примеры

Пример использования

SELECT log(10);
2.302585092994046

log10

Появилась в версии v1.1.

Возвращает десятичный логарифм аргумента.

Синтаксис

log10(x)

Аргументы

  • x — Число, для которого нужно вычислить десятичный логарифм. (U)Int* или Float* или Decimal*

Возвращаемое значение

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

Примеры

Пример использования

SELECT log10(100);
2

log1p

Введена в версии: v20.12

Вычисляет log(1+x). Вычисление log1p(x) более точно, чем log(1+x), для малых значений x.

Синтаксис

log1p(x)

Аргументы

Возвращаемое значение

Возвращает значения из интервала: -∞ < log1p(x) < +∞ типа Float64

Примеры

Пример использования

SELECT log1p(0)
0

log2

Впервые появилась в v1.1

Возвращает двоичный логарифм аргумента.

Синтаксис

log2(x)

Аргументы

  • x — число, для которого нужно вычислить двоичный логарифм. (U)Int* или Float* или Decimal*

Возвращаемое значение

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

Примеры

Пример использования

SELECT log2(8);
3

pi

Появилась в версии: v1.1

Возвращает число пи (π).

Синтаксис

pi()

Аргументы

  • Нет.

Возвращаемое значение

Возвращает число π типа Float64

Примеры

Пример использования

SELECT pi();
3.141592653589793

pow

Добавлена в версии v1.1

Возвращает x в степени y.

Синтаксис

pow(x, y)

Псевдонимы: power

Аргументы

Возвращаемое значение

Возвращает значение x^y типа Float64

Примеры

Пример использования

SELECT pow(2, 3);
8

proportionsZTest

Введена в: v22.3

Возвращает значение статистики Z-критерия для сравнения двух пропорций — статистического теста для сравнения долей в двух генеральных совокупностях x и y. Функция поддерживает как объединённый (pooled), так и раздельный (unpooled) методы оценки стандартной ошибки. В объединённом варианте две пропорции усредняются, и для оценки стандартной ошибки используется только одна пропорция. В раздельном варианте две пропорции используются по отдельности.

Синтаксис

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

Аргументы

  • successes_x — Количество успехов в совокупности x. UInt64
  • successes_y — Количество успехов в совокупности y. UInt64
  • trials_x — Количество испытаний в совокупности x. UInt64
  • trials_y — Количество испытаний в совокупности y. UInt64
  • conf_level — Уровень доверия для теста. Float64
  • pool_type — Выбор метода объединения для оценки стандартной ошибки. Может принимать значения 'unpooled' или 'pooled'. String

Возвращаемое значение

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

Примеры

Пример использования

SELECT proportionsZTest(10, 11, 100, 101, 0.95, 'unpooled');
┌─proportionsZTest(10, 11, 100, 101, 0.95, 'unpooled')───────────────────────────────┐
│ (-0.20656724435948853,0.8363478437079654,-0.09345975390115283,0.07563797172293502) │
└────────────────────────────────────────────────────────────────────────────────────┘

radians

Добавлена в версии: v22.2

Преобразует градусы в радианы.

Синтаксис

radians(x)

Аргументы

Возвращаемое значение

Возвращает значение в радианах типа Float64

Примеры

Пример использования

SELECT radians(180)
3.141592653589793

sigmoid

Введена в версии v20.1

Вычисляет сигмоидную функцию: 1 / (1 + exp(-x)). Сигмоидная функция отображает любое действительное число в диапазон (0, 1) и обычно используется в задачах машинного обучения.

Синтаксис

sigmoid(x)

Аргументы

Возвращаемое значение

Возвращает сигмоиду входного значения в интервале (0, 1). Float64

Примеры

Базовое использование

SELECT sigmoid(0)
0.5

sign

Появилась в версии v21.2.

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

Синтаксис

sign(x)

Аргументы

  • x — значения в диапазоне от -∞ до +∞. (U)Int* или Decimal* или Float*

Возвращаемое значение

Возвращает -1 для x < 0, 0 для x = 0, 1 для x > 0. Int8

Примеры

Знак для нуля

SELECT sign(0)
0

Знак для положительных чисел

SELECT sign(1)
1

Знак для отрицательных чисел

SELECT sign(-1)
-1

sin

Введена в версии: v1.1

Возвращает синус аргумента.

Синтаксис

sin(x)

Аргументы

  • x — число, гиперболический синус которого будет возвращён. (U)Int* или Float* или Decimal*

Возвращаемое значение

Возвращает гиперболический синус от x.

Примеры

простой

SELECT sin(1.23)
0.9424888019316975

sinh

Добавлена в версии: v20.12

Возвращает гиперболический синус.

Синтаксис

sinh(x)

Аргументы

  • x — угол в радианах. Допустимые значения: -∞ < x < +∞. Тип: (U)Int*, Float* или Decimal*

Возвращаемое значение

Возвращает значение из интервала -∞ < sinh(x) < +∞ типа Float64

Примеры

Пример использования

SELECT sinh(0)
0

sqrt

Появилась в версии: v1.1

Возвращает квадратный корень от аргумента.

Синтаксис

sqrt(x)

Аргументы

  • x — число, для которого требуется вычислить квадратный корень. (U)Int* или Float* или Decimal*

Возвращаемое значение

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

Примеры

Пример использования

SELECT sqrt(16);
4

tan

Добавлено в: v1.1

Возвращает тангенс аргумента.

Синтаксис

tan(x)

Аргументы

Возвращаемое значение

Возвращает значение гиперболического тангенса x. Float*

Примеры

Пример использования

SELECT tan(0);
0

tanh

Добавлена в версии: v20.1

Возвращает гиперболический тангенс.

Синтаксис

tanh(x)

Аргументы

  • x — угол в радианах. Значения из интервала: -∞ < x < +∞. (U)Int* или Float* или Decimal*

Возвращаемое значение

Возвращает значения из интервала: -1 < tanh(x) < 1 Float*

Примеры

Пример использования

SELECT tanh(0)
0

tgamma

Добавлено в версии: v1.1

Возвращает значение гамма-функции.

Синтаксис

tgamma(x)

Аргументы

  • x — число, для которого вычисляется значение гамма-функции. (U)Int* или Float* или Decimal*

Возвращаемое значение

Возвращает значение гамма-функции типа Float*

Примеры

Пример использования

SELECT tgamma(5);
24

widthBucket

Впервые была добавлена в: v23.3

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

Синтаксис

widthBucket(operand, low, high, count)

Псевдонимы: width_bucket

Аргументы

  • operand — Значение, для которого нужно определить бакет. (U)Int8/16/32/64
  • low — Нижняя граница диапазона гистограммы. (U)Int8/16/32/64
  • high — Верхняя граница диапазона гистограммы. (U)Int8/16/32/64
  • count — Количество бакетов одинаковой ширины. Не может быть нулём. UInt8/16/32/64

Возвращаемое значение

Возвращает номер бакета в виде целого числа. Возвращает 0, если operand < low, и count + 1, если operand >= high. UInt8/16/32/64

Примеры

Пример использования

widthBucket(10.15, -8.6, 23, 18)
11