Skip to main content

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

Все функции возвращают число типа Float64. Точность результата близка к максимально возможной, но результат может не совпадать с наиболее близким к соответствующему вещественному числу машинно представимым числом.

e()​

Возвращает число типа Float64, близкое к числу e.

pi()​

Возвращает число типа Float64, близкое к числу π.

exp(x)​

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

log(x)​

Принимает числовой аргумент, возвращает число типа Float64, близкое к натуральному логарифму от аргумента.

exp2(x)​

Принимает числовой аргумент, возвращает число типа Float64, близкое к 2 в степени x.

log2(x)​

Принимает числовой аргумент, возвращает число типа Float64, близкое к двоичному логарифму от аргумента.

exp10(x)​

Принимает числовой аргумент, возвращает число типа Float64, близкое к 10 в степени x.

log10(x)​

Принимает числовой аргумент, возвращает число типа Float64, близкое к десятичному логарифму от аргумента.

sqrt(x)​

Принимает числовой аргумент, возвращает число типа Float64, близкое к квадратному корню от аргумента.

cbrt(x)​

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

erf(x)​

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

Пример (правило трёх сигм):

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

erfc(x)​

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

lgamma(x)​

Логарифм от гамма функции.

tgamma(x)​

Гамма функция.

sin(x)​

Синус.

cos(x)​

Косинус.

tan(x)​

Тангенс.

asin(x)​

Арксинус.

acos(x)​

Арккосинус.

atan(x)​

Арктангенс.

pow(x, y)​

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

cosh(x)​

Гиперболический косинус.

Синтаксис

cosh(x)

Аргументы

  • x — угол в радианах. Значения из интервала: -∞ < x < +∞. Float64.

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

  • Значения из интервала: 1 <= cosh(x) < +∞.

Тип: Float64.

Пример

Запрос:

SELECT cosh(0);

Результат:

┌─cosh(0)──┐
│ 1 │
└──────────┘

acosh(x)​

Обратный гиперболический косинус.

Синтаксис

acosh(x)

Аргументы

  • x — гиперболический косинус угла. Значения из интервала: 1 <= x < +∞. Float64.

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

  • Угол в радианах. Значения из интервала: 0 <= acosh(x) < +∞.

Тип: Float64.

Пример

Запрос:

SELECT acosh(1);

Результат:

┌─acosh(1)─┐
│ 0 │
└──────────┘

Смотрите также

sinh(x)​

Гиперболический синус.

Синтаксис

sinh(x)

Аргументы

  • x — угол в радианах. Значения из интервала: -∞ < x < +∞. Float64.

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

  • Значения из интервала: -∞ < sinh(x) < +∞.

Тип: Float64.

Пример

Запрос:

SELECT sinh(0);

Результат:

┌─sinh(0)──┐
│ 0 │
└──────────┘

asinh(x)​

Обратный гиперболический синус.

Синтаксис

asinh(x)

Аргументы

  • x — гиперболический синус угла. Значения из интервала: -∞ < x < +∞. Float64.

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

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

Тип: Float64.

Пример

Запрос:

SELECT asinh(0);

Результат:

┌─asinh(0)─┐
│ 0 │
└──────────┘

Смотрите также

atanh(x)​

Обратный гиперболический тангенс.

Синтаксис

atanh(x)

Аргументы

  • x — гиперболический тангенс угла. Значения из интервала: –1 < x < 1. Float64.

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

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

Тип: Float64.

Пример

Запрос:

SELECT atanh(0);

Результат:

┌─atanh(0)─┐
│ 0 │
└──────────┘

atan2(y, x)​

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

Синтаксис

atan2(y, x)

Аргументы

  • y — координата y точки, в которую проведена линия. Float64.
  • x — координата х точки, в которую проведена линия. Float64.

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

  • Угол θ в радианах из интервала: −π < θ ≤ π.

Тип: Float64.

Пример

Запрос:

SELECT atan2(1, 1);

Результат:

┌────────atan2(1, 1)─┐
│ 0.7853981633974483 │
└────────────────────┘

hypot(x, y)​

Вычисляет длину гипотенузы прямоугольного треугольника. При использовании этой функции не возникает проблем при возведении в квадрат очень больших или очень малых чисел.

Синтаксис

hypot(x, y)

Аргументы

  • x — первый катет прямоугольного треугольника. Float64.
  • y — второй катет прямоугольного треугольника. Float64.

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

  • Длина гипотенузы прямоугольного треугольника.

Тип: Float64.

Пример

Запрос:

SELECT hypot(1, 1);

Результат:

┌────────hypot(1, 1)─┐
│ 1.4142135623730951 │
└────────────────────┘

log1p(x)​

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

Синтаксис

log1p(x)

Аргументы

  • x — значения из интервала: -1 < x < +∞. Float64.

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

  • Значения из интервала: -∞ < log1p(x) < +∞.

Тип: Float64.

Пример

Запрос:

SELECT log1p(0);

Результат:

┌─log1p(0)─┐
│ 0 │
└──────────┘

Смотрите также

sign(x)​

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

Синтаксис

sign(x)

Аргумент

  • x — Значения от -∞ до +∞. Любой числовой тип, поддерживаемый ClickHouse.

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

  • -1 если x < 0
  • 0 если x = 0
  • 1 если x > 0

Примеры

Результат sign() для нуля:

SELECT sign(0);

Результат:

┌─sign(0)─┐
│ 0 │
└─────────┘

Результат sign() для положительного аргумента:

SELECT sign(1);

Результат:

┌─sign(1)─┐
│ 1 │
└─────────┘

Результат sign() для отрицательного аргумента:

SELECT sign(-1);

Результат:

┌─sign(-1)─┐
│ -1 │
└──────────┘