ClickHouse/docs/ru/sql-reference/functions/math-functions.md
Nikita Mikhaylov a14110a9a5
Merge pull request #21497 from olgarev/DOCSUP-6545_edit_and_translate
DOSCUP-6545: Edit and translate
2021-03-12 16:04:31 +03:00

12 KiB
Raw Blame History

toc_priority toc_title
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.
  • 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 │
└──────────┘

Оригинальная статья