Small. Fast. Reliable.
Choose any three.
Встроенные математические функции SQL

1. Обзор

Математические функции, показанные ниже, являются подгруппой скалярных функций, которые встроены в исходный файл объединения SQLite, но активны только если объединение собрано, используя выбор времени компиляции -DSQLITE_ENABLE_MATH_FUNCTIONS.

Аргументы математическим функциям могут быть целыми числами, числами с плавающей запятой, последовательностями или blob, которые похожи на целые числа или вещественные числа. Если какой-либо аргумент будет NULL или будет последовательностью или blob, который с готовностью не преобразовывается в число, то функция возвратит NULL. Эти функции также возвращают NULL для ошибок области, таких как попытка взять квадратный корень отрицательного числа или вычислить arccosine значения не в интервале от 1.0 до -1.0.

Значения, возвращенные этими функциями, часто являются приближениями. Например, pi() вернет 3.141592653589793115997963468544185161590576171875, примерно на 1.22465e-16 меньше, но это самое близкое приближение, доступное для IEEE754 double.

2. Описания встроенных скалярных математических функций SQL

acos(X)

Возвратит arccosine X. Результат в радианах.

acosh(X)

Возвратит гиперболический arccosine X.

asin(X)

Возвратит arcsine X. Результат в радианах.

asinh(X)

Возвратит гиперболический arcsine X.

atan(X)

Возвратите арктангенс X. Результат в радианах.

atan2(Y,X)

Возвратите арктангенс Y/X. Результат в радианах. Результат помещается в правильный сектор в зависимости от признаков X и Y.

atanh(X)

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

ceil(X)
ceiling(X)

Возвратит первое целочисленное значение, больше или равное X. Для положительных X это округляется далеко от ноля. Для отрицательных величин X это округляется к нолю.

cos(X)

Возвратит косинус X. X в радианах.

cosh(X)

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

degrees(X)

Преобразует X из радиан в степени.

exp(X)

Вычислит e (Число Euler's, примерно 2.71828182845905) в степени X.

floor(X)

Возвратит первое целочисленное значение, меньше или равное X. Для отрицательных X это округляется далеко от ноля. Для положительных величин X это округляется к нолю.

ln(X)

Возвратит натуральный логарифм X.

log(X)
log10(X)
log(B,X)

Возвратит десятичный логарифм X. Или для версии с двумя аргументами возвратит логарифм X по основанию B.

Примечание совместимости: SQLite работает как PostgreSQL в этой функции log(), вычисляя десятичный логарифм. Большинство других движков базы данных SQL вычисляет натуральный логарифм для log(). В версии с двумя аргументами log(B,X), первый аргумент это основание, второй аргумент это операнд. Это совпадает с PostgreSQL и MySQL, но полностью изменено от SQL Server, который использует второй аргумент в качестве основания.

log2(X)

Возвратит двоичный логарифм X.

mod(X,Y)

Возвратит остаток после деления X на Y. Это подобно оператору '%', за исключением того, что это работает и на аргументах не целого числа.

pi()

Возвратит приближение для π.

pow(X,Y)
power(X,Y)

Вычислит X в степени Y.

radians(X)

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

sin(X)

Возвратит синус X. X в радианах.

sinh(X)

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

sqrt(X)

Возвратит квадратный корень X. NULL возвращен, если X отрицательно.

tan(X)

Возвратит тангенс X. X в радианах.

tanh(X)

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

trunc(X)

Возвратит целое число, промежуточное X и 0 (включительно), которое дальше всего от 0. Или другими словами возвратит целую часть X, округлив к 0. trunc() похоже на ceiling(X) и floor(X), но это всегда округляется к нолю тогда как, ceiling(X) и floor(X) округляют вверх и вниз, соответственно.