Математические функции и операторы#

Математические операторы#

Оператор

Описание

+

Сложение

-

Вычитание

*

Умножение

/

Целочисленное деление

%

Остаток от целочисленного деления

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

abs(x) [same as input]#

Возвращает абсолютное значение x.

cbrt(x) double#

Возвращает кубический корень числа x.

ceil(x) [same as input]#

Псевдоним для ceiling().

ceiling(x) [same as input]#

Возвращает ближайшее целое число, большее или равное x.

degrees(x) double#

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

e() double#

Возвращает число e.

exp(x) double#

Возвращает число x, возведенное в степень x.

floor(x) [same as input]#

Возвращает ближайшее целое число, меньшее или равное x.

ln(x) double#

Возвращает натуральный логарифм числа x.

log(b, x) double#

Возвращает логарифм по основанию b числа x.

log2(x) double#

Возвращает логарифм по основанию 2 числа x.

log10(x) double#

Возвращает десятичный логарифм числа x.

mod(n, m) [same as input]#

Возвращает остаток от деления n на m.

pi() double#

Возвращает число Пи.

pow(x, p) double#

Псевдоним для power().

power(x, p) double#

Возвращает x, возведённый в степень p.

radians(x) double#

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

round(x) [same as input]#

Возвращает x, округленный до ближайшего целого числа.

round(x, d) [same as input]

Возвращает x, округленное до d десятичных знаков.

sign(x) [same as input]#

Возвращает знак x:

  • 0, если аргумент равен 0,

  • 1, если аргумент больше 0,

  • -1, если аргумент меньше 0.

Для значений с плавающей запятой функция дополнительно возвращает:

  • NaN, если аргумент равен NaN,

  • 1, если аргумент равен +Infinity,

  • -1, если аргумент равен -Infinity.

sqrt(x) double#

Возвращает квадратный корень из x.

truncate(x) double#

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

width_bucket(x, bound1, bound2, n) bigint#

Возвращает номер интервала x в гистограмме равной ширины с указанными границами bound1 и bound2 и количеством сегментов n.

width_bucket(x, bins) bigint

Возвращает номер ячейки x в соответствии с ячейками, указанными в массиве bins. Параметр bins должен быть массивом значений double, отсортированных по возрастанию.

Функции получения случайных значений#

rand() double#

Псевдоним для random().

random() double#

Возвращает псевдослучайное число в диапазоне [0,0; 1,0).

random(n) [same as input]

Возвращает псевдослучайное число в диапазоне [0; n).

random(m, n) [same as input]

Возвращает псевдослучайное число в диапазоне [m; n).

Тригонометрические функции#

Все аргументы тригонометрических функций выражаются в радианах. Для преобразования значений из градусов в радианы и обратно используйте функции degrees() и radians().

acos(x) double#

Возвращает арккосинус x.

asin(x) double#

Возвращает арксинус x.

atan(x) double#

Возвращает арктангенс x.

atan2(y, x) double#

Возвращает арктангенс y / x.

cos(x) double#

Возвращает косинус x.

cosh(x) double#

Возвращает гиперболический косинус x.

sin(x) double#

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

sinh(x) double#

Возвращает гиперболический синус x.

tan(x) double#

Возвращает тангенс x.

tanh(x) double#

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

Функции работы со значениями с плавающей запятой#

infinity() double#

Возвращает константу +Infinity.

is_finite(x) boolean#

Возвращает TRUE, если значение x не равно +Infinity или -Infinity.

is_infinite(x) boolean#

Возвращает TRUE, если значение x равно +Infinity или -Infinity.

is_nan(x) boolean#

Возвращает TRUE, если значение x равно NaN.

nan() double#

Возвращает константу NaN.

Функции работы с основаниями#

from_base(string, radix) bigint#

Возвращает значение string, интерпретируемое как число по основанию radix.

to_base(x, radix) varchar#

Возвращает текстовое представление числа x с использованием основания radix.

Статистические функции#

cosine_similarity(x, y) double#

Возвращает косинусное сходство (cosine similarity) между векторами x и y:

SELECT cosine_similarity(MAP(ARRAY['a'], ARRAY[1.0]), MAP(ARRAY['a'], ARRAY[2.0])); -- 1.0
wilson_interval_lower(successes, trials, z) double#

Возвращает нижнюю границу доверительного интервала Вильсона с достоверностью, заданной z-показателем z.

wilson_interval_upper(successes, trials, z) double#

Возвращает верхнюю границу доверительного интервала Вильсона с достоверностью, заданной z-показателем z.

Кумулятивные функции распределения#

beta_cdf(a, b, v) double#

Вычисляет кумулятивную функцию бета-распределения с заданными параметрами a, b: P(N < v; a, b). Параметры a и b должны быть положительными действительными числами. Значение v должно быть действительным значением в интервале [0, 1].

inverse_beta_cdf(a, b, p) double#

Вычисляет обратную кумулятивную функцию бета-распределения с заданными параметрами a, b для кумулятивной вероятности p: P(N < n). Параметры a и b должны быть положительными действительными значениями. Вероятность p должна лежать на интервале [0, 1].

inverse_normal_cdf(mean, sd, p) double#

Вычисляет обратную кумулятивную функцию нормального распределения с заданным средним значением mean и стандартным отклонением sd для кумулятивной вероятности p: P(N < n). Значение main должно быть действительным. Значение sd должно быть действительным и положительным. Вероятность p должна лежать в интервале (0, 1).

normal_cdf(mean, sd, v) double#

Вычисляет кумулятивную функцию нормального распределения с заданным средним значением mean и стандартным отклонением sd: P(N < v; mean, sd). Значения v и sd должны быть действительными. Значение sd должно быть действительным и положительным.