ClickHouse/docs/ru/sql-reference/functions/math-functions.md
2024-05-28 13:09:41 +00:00

12 KiB
Raw Blame History

slug sidebar_position sidebar_label
/ru/sql-reference/functions/math-functions 44 Математические функции

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

Все функции возвращают число типа 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 или Decimal.
  • x — координата х точки, в которую проведена линия. Float64 или Decimal.

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

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

Тип: Float64.

Пример

Запрос:

SELECT atan2(1, 1);

Результат:

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

hypot(x, y)

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

Синтаксис

hypot(x, y)

Аргументы

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

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

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

Тип: 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 │
└──────────┘