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

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

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)

Аргументы

  • 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)

Аргументы

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

Возвращает x^y Float64

Примеры

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

SELECT pow(2, 3);
8

radians

Введено в: v22.2

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

Синтаксис

radians(x)

Аргументы

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

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

Примеры

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

SELECT radians(180)
3.141592653589793

sign

Введено в: v21.2

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

Синтаксис

sign(x)

Аргументы

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

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

Синтаксис

widthBucket(operand, low, high, count)

Аргументы

  • 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