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

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

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)

Аргументы

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

Возвращает 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

radians

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

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

Синтаксис

radians(x)

Аргументы

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

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

Примеры

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

SELECT radians(180)
3.141592653589793

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

Появилась в версии: v

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

Синтаксис

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