Spec-Zone.ru › DuckDB
Числовые функции В таблице ниже представлены доступные математические операторы для числовых типов .
Оператор Описание Пример Результат + сложение 2 + 3 5 - вычитание 2 - 3 -1 * умножение 2 * 3 6 / деление с плавающей точкой 5 / 2 2.5 // целочисленное деление 5 // 2 2 % остаток от деления (модуль) 5 % 4 1 ** возведение в степень 3 ** 4 81 ^ возведение в степень (псевдоним для **) 3 ^ 4 81 & побитовое И 91 & 15 11 | побитовое ИЛИ 32 | 3 35 << побитовый сдвиг влево 1 << 4 16 >> побитовый сдвиг вправо 8 >> 2 2 ~ побитовое отрицание ~15 -16 ! факториал x
4! 24
Существуют два оператора деления: / и //. Они эквивалентны, когда хотя бы один из операндов является FLOAT или DOUBLE. Когда оба операнда являются целыми числами, / выполняет деление с плавающей точкой (5 / 2 = 2.5), а // выполняет целочисленное деление (5 // 2 = 2).
Операторы модуля, побитовые, отрицания и факториала работают только с целочисленными типами данных, в то время как другие доступны для всех числовых типов данных.
В таблице ниже представлены доступные математические функции.
Имя Описание @(x) Модуль числа. Скобки необязательны, если x — имя столбца. abs(x) Модуль числа. acos(x) Вычисляет арккосинус x. add(x, y) Псевдоним для x + y. asin(x) Вычисляет арксинус x. atan(x) Вычисляет арктангенс x. atan2(y, x) Вычисляет арктангенс (y, x). bit_count(x) Возвращает количество установленных битов. cbrt(x) Возвращает кубический корень числа. ceil(x) Округляет число вверх. ceiling(x) Округляет число вверх. Псевдоним для ceil. cos(x) Вычисляет косинус x. cot(x) Вычисляет котангенс x. degrees(x) Преобразует радианы в градусы. divide(x, y) Псевдоним для x // y. even(x) Округляет к ближайшему четному числу, отдаляясь от нуля. exp(x) Вычисляет e ** x. factorial(x) См. оператор !. Вычисляет произведение текущего целого числа и всех целых чисел ниже его. fdiv(x, y) Выполняет целочисленное деление (x // y), но возвращает значение DOUBLE. floor(x) Округляет число вниз. fmod(x, y) Вычисляет остаток от деления. Всегда возвращает значение DOUBLE. gamma(x) Интерполяция факториала x - 1. Разрешены дробные входные данные. gcd(x, y) Вычисляет наибольший общий делитель x и y. greatest_common_divisor(x, y) Вычисляет наибольший общий делитель x и y. greatest(x1, x2, ...) Выбирает наибольшее значение. isfinite(x) Возвращает true, если значение с плавающей точкой конечно, иначе false. isinf(x) Возвращает true, если значение с плавающей точкой бесконечно, иначе false. isnan(x) Возвращает true, если значение с плавающей точкой — не число, иначе false. lcm(x, y) Вычисляет наименьшее общее кратное x и y. least_common_multiple(x, y) Вычисляет наименьшее общее кратное x и y. least(x1, x2, ...) Выбирает наименьшее значение. lgamma(x) Вычисляет логарифм функции gamma. ln(x) Вычисляет натуральный логарифм x. log(x) Вычисляет логарифм по основанию 10 от x. log10(x) Псевдоним для log. Вычисляет логарифм по основанию 10 от x. log2(x) Вычисляет двоичный логарифм x. multiply(x, y) Псевдоним для x * y. nextafter(x, y) Возвращает следующее значение с плавающей точкой после x в направлении y. pi() Возвращает значение числа пи. pow(x, y) Вычисляет x в степени y. power(x, y) Псевдоним для pow. Вычисляет x в степени y. radians(x) Преобразует градусы в радианы. random() Возвращает случайное число x в диапазоне 0.0 <= x < 1.0. round_even(v NUMERIC, s INTEGER) Псевдоним для roundbankers(v, s). Округляет до s десятичных знаков, используя правило округления до ближайшего чётного . Разрешены значения s < 0. round(v NUMERIC, s INTEGER) Округляет до s десятичных знаков. Разрешены значения s < 0. setseed(x) Устанавливает seed для функции генерации случайных чисел. sign(x) Возвращает знак x как -1, 0 или 1. signbit(x) Возвращает, установлен ли знаковый бит. sin(x) Вычисляет синус x. sqrt(x) Возвращает квадратный корень из числа. subtract(x, y) Псевдоним для x - y. tan(x) Вычисляет тангенс x. trunc(x) Отбрасывает дробную часть числа. xor(x, y) Побитовое XOR.
Описание Модуль числа. Скобки необязательны, если x — имя столбца. Пример @(-17.4) Результат 17.4 Псевдоним abs
Описание Модуль числа. Пример abs(-17.4) Результат 17.4 Псевдоним @
Описание Вычисляет арккосинус x. Пример acos(0.5) Результат 1.0471975511965976
Описание Псевдоним для x + y. Пример add(2, 3) Результат 5
Описание Вычисляет арксинус x. Пример asin(0.5) Результат 0.5235987755982989
Описание Вычисляет арктангенс x. Пример atan(0.5) Результат 0.4636476090008061
Описание Вычисляет арктангенс (y, x). Пример atan2(0.5, 0.5) Результат 0.7853981633974483
Описание Возвращает количество установленных битов. Пример bit_count(31) Результат 5
Описание Возвращает кубический корень числа. Пример cbrt(8) Результат 2
Описание Округляет число вверх. Пример ceil(17.4) Результат 18
Описание Округляет число вверх. Псевдоним для ceil. Пример ceiling(17.4) Результат 18
Описание Вычисляет косинус x. Пример cos(90) Результат -0.4480736161291701
Описание Вычисляет котангенс x. Пример cot(0.5) Результат 1.830487721712452
Описание Преобразует радианы в градусы. Пример degrees(pi()) Результат 180
Описание Псевдоним для x // y. Пример divide(5, 2) Результат 2
Описание Округляет до ближайшего чётного числа, удаляя от нуля. Пример even(2.9) Результат 4
Описание Вычисляет e ** x. Пример exp(0.693) Результат 2
Описание См. оператор !. Вычисляет произведение текущего целого числа и всех целых чисел ниже его. Пример factorial(4) Результат 24
Описание Выполняет целочисленное деление (x // y), но возвращает значение DOUBLE. Пример fdiv(5, 2) Результат 2.0
Описание Округляет число вниз. Пример floor(17.4) Результат 17
Описание Вычисляет остаток от деления. Всегда возвращает значение DOUBLE. Пример fmod(5, 2) Результат 1.0
Описание Интерполяция факториала x - 1. Допускаются дробные входные значения. Пример gamma(5.5) Результат 52.34277778455352
Описание Вычисляет наибольший общий делитель x и y. Пример gcd(42, 57) Результат 3
Описание Вычисляет наибольший общий делитель x и y. Пример greatest_common_divisor(42, 57) Результат 3
Описание Выбирает наибольшее значение. Пример greatest(3, 2, 4, 4) Результат 4
Описание Возвращает true, если значение с плавающей запятой конечно, и false в противном случае. Пример isfinite(5.5) Результат true
Описание Возвращает true, если значение с плавающей запятой бесконечно, и false в противном случае. Пример isinf('Infinity'::float) Результат true
Описание Возвращает true, если значение с плавающей запятой не является числом, и false в противном случае. Пример isnan('NaN'::float) Результат true
Описание Вычисляет наименьшее общее кратное x и y. Пример lcm(42, 57) Результат 798
Описание Вычисляет наименьшее общее кратное x и y. Пример least_common_multiple(42, 57) Результат 798
Описание Выбирает наименьшее значение. Пример least(3, 2, 4, 4) Результат 2
Описание Вычисляет логарифм функции gamma. Пример lgamma(2) Результат 0
Описание Вычисляет натуральный логарифм x. Пример ln(2) Результат 0.693
Описание Вычисляет логарифм по основанию 10 от x. Пример log(100) Результат 2
Описание Псевдоним для log. Вычисляет логарифм по основанию 10 от x. Пример log10(1000) Результат 3
Описание Вычисляет логарифм по основанию 2 от x. Пример log2(8) Результат 3
Описание Псевдоним для x * y. Пример multiply(2, 3) Результат 6
Описание Возвращает следующее значение с плавающей точкой после x в направлении y. Пример nextafter(1::float, 2::float) Результат 1.0000001
Описание Возвращает значение числа пи. Пример pi() Результат 3.141592653589793
Описание Вычисляет x в степени y. Пример pow(2, 3) Результат 8
Описание Псевдоним для pow. Вычисляет x в степени y. Пример power(2, 3) Результат 8
Описание Преобразует градусы в радианы. Пример radians(90) Результат 1.5707963267948966
Описание Возвращает случайное число x в диапазоне 0.0 <= x < 1.0. Пример random() Результат различные
Описание Псевдоним для roundbankers(v, s). Округляет до s знаков после запятой, используя правило «округления до ближайшего чётного».округление до ближайшего чётного . Допускаются значения s < 0. Пример round_even(24.5, 0) Результат 24.0
Описание Округляет до s знаков после запятой. Допускаются значения s < 0. Пример round(42.4332, 2) Результат 42.43
Описание Устанавливает начальное значение для функции random. Пример setseed(0.42)
Описание Возвращает знак x как -1, 0 или 1. Пример sign(-349) Результат -1
Описание Возвращает, установлен ли бит знака или нет. Пример signbit(-1.0) Результат true
Описание Вычисляет синус от x. Пример sin(90) Результат 0.8939966636005579
Описание Возвращает квадратный корень из числа. Пример sqrt(9) Результат 3
Описание Псевдоним для x - y. Пример subtract(2, 3) Результат -1
Описание Вычисляет тангенс от x. Пример tan(90) Результат -1.995200412208242
Описание Отбрасывает дробную часть числа. Пример trunc(17.4) Результат 17
Описание Побитовое XOR. Пример xor(17, 5) Результат 20