Числовые (математические) функции PostgreSQL
Числовые (математические) функции используются для математических вычислений:
|
S. No. |
Название и Описание |
|
1 |
Возвращает абсолютное значение числового выражения |
|
2 |
Возвращает арккосинус числового выражения. Возвращает NULL, если значение не находится в диапазоне от -1 до 1. |
|
3 |
Возвращает арксинус числового выражения. Возвращает NULL, если значение не находится в диапазоне от -1 до 1. |
|
4 |
Возвращает арктангенс числового выражения. |
|
5 |
Возвращает арктангенс двух переданных ему переменных. |
|
6 |
Возвращает ближайшее целое, большее или равное аргументу |
|
7 |
Возвращает ближайшее целое, большее или равное аргументу |
|
8 |
Возвращает косинус переданного числового выражения. Числовое выражение должно быть выражено в радианах. |
|
9 |
Возвращает котангенс переданного числового выражения. |
|
10 |
Возвращает числовое выражение, преобразованное из радианов в градусы. |
|
11 |
Возвращает основание натурального логарифма (е), возведенное в степень переданного числового выражения. |
|
12 |
Возвращает ближайшее целое, меньшее или равное аргументу |
|
13 |
Возвращает наибольшее значение входных выражений. |
|
14 |
Возвращает входящее с минимальным значением, если задано два или более. |
|
15 |
Возвращает натуральный логарифм переданного числового выражения. |
|
16 |
Возвращает остаток от деления |
|
17 |
Возвращает значения числа p |
|
18 |
Возвращает значение одного выражения, возведенное в степень другого выражения |
|
19 |
Возвращает значение одного выражения, возведенное в степень другого выражения |
|
20 |
Возвращает значение переданного выражения, преобразованное из градусов в радианы. |
|
21 |
Возвращает числовое выражение, округленное до целого числа. Может использоваться для округления выражения до числа десятичных знаков. |
|
22 |
Возвращает синус числового выражения, заданного в радианах. |
|
23 |
Возвращает неотрицательный квадратный корень числового выражения. |
|
24 |
Возвращает тангенс числового выражения, выраженного в радианах. |
Функция ABS () возвращает абсолютное значение X. Рассмотрим следующий пример:
testdb=# SELECT ABS(2); +---------------------------------------------------------+ | ABS(2) | +---------------------------------------------------------+ | 2 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
testdb=# SELECT ABS(-2); +---------------------------------------------------------+ | ABS(2) | +---------------------------------------------------------+ | 2 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
Эта функция возвращает арккосинус X. Значение X должно находиться в диапазоне от -1 до 1, иначе будет возвращено NULL. Рассмотрим следующий пример:
testdb=# SELECT ACOS(1); +---------------------------------------------------------+ | ACOS(1) | +---------------------------------------------------------+ | 0.000000 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
Функция ASIN() возвращает арксинус X. Значение X должно быть в диапазоне от -1 до 1, иначе возвращается NULL:
testdb=# SELECT ASIN(1); +---------------------------------------------------------+ | ASIN(1) | +---------------------------------------------------------+ | 1.5707963267949 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
Эта функция возвращает арктангенс X:
testdb=# SELECT ATAN(1); +---------------------------------------------------------+ | ATAN(1) | +---------------------------------------------------------+ | 0.78539816339745 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
Эта функция возвращает арктангенс двух аргументов: X и Y. Она аналогична арктангенсу Y/X, за исключением того, что знаки обоих используются для нахождения квадранта результата:
testdb=# SELECT ATAN2(3,6); +---------------------------------------------------------+ | ATAN2(3,6) | +---------------------------------------------------------+ | 0.46364760900081 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
Эти функции возвращают наименьшее целочисленное значение, не меньшее X. Рассмотрим следующий пример:
testdb=# SELECT CEILING(3.46); +---------------------------------------------------------+ | CEILING(3.46) | +---------------------------------------------------------+ | 4 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
testdb=# SELECT CEIL(-6.43); +---------------------------------------------------------+ | CEIL(-6.43) | +---------------------------------------------------------+ | -6 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
Эта функция возвращает косинус X. Значение X задается в радианах:
testdb=#SELECT COS(90); +---------------------------------------------------------+ | COS(90) | +---------------------------------------------------------+ | -0.44807361612917 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
Эта функция возвращает котангенс X. Рассмотрим следующий пример:
testdb=#SELECT COT(1);
+---------------------------------------------------------+
| COT(1) |
+---------------------------------------------------------+
| 0.64209261593433 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
Эта функция возвращает значение X, преобразованное из радианов в градусы:
testdb=#SELECT DEGREES(PI()); +---------------------------------------------------------+ | DEGREES(PI()) | +---------------------------------------------------------+ | 180.000000 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
Эта функция возвращает значение e (основание натурального логарифма), возведенное в степень X:
testdb=#SELECT EXP(3);
+---------------------------------------------------------+
| EXP(3) |
+---------------------------------------------------------+
| 20.085537 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
Эта функция возвращает наибольшее целочисленное значение, не превышающее X:
testdb=#SELECT FLOOR(7.55);
+---------------------------------------------------------+
| FLOOR(7.55) |
+---------------------------------------------------------+
| 7 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
Возвращает наибольшее значение из набора входных параметров (n1, n2, n3 и т. д.):
testdb=#SELECT GREATEST(3,5,1,8,33,99,34,55,67,43);
+---------------------------------------------------------+
| GREATEST(3,5,1,8,33,99,34,55,67,43) |
+---------------------------------------------------------+
| 99 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
Цель функции — вернуть элемент с наименьшим значением из списка значений (N1, N2, N3 и т. д.):
testdb=#SELECT LEAST(3,5,1,8,33,99,34,55,67,43);
+---------------------------------------------------------+
| LEAST(3,5,1,8,33,99,34,55,67,43) |
+---------------------------------------------------------+
| 1 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
Версия функции с одним аргументом вернет натуральный логарифм X. Если она вызывается с двумя аргументами, она возвращает логарифм X для произвольного основания B. Рассмотрим следующий пример:
testdb=#SELECT LOG(45);
+---------------------------------------------------------+
| LOG(45) |
+---------------------------------------------------------+
| 1.65321251377534 |
+---------------------------------------------------------+
1 row in set (0.00 sec)testdb=#SELECT LOG(2,65536); +---------------------------------------------------------+ | LOG(2,65536) | +---------------------------------------------------------+ | 16.000000 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
Эта функция возвращает остаток от деления N на M. Рассмотрим следующий пример:
testdb=#SELECT MOD(29,3);
+---------------------------------------------------------+
| MOD(29,3) |
+---------------------------------------------------------+
| 2 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
Эта функция просто возвращает значение числа p. SQL хранит полное значение числа p:
testdb=#SELECT PI();
+---------------------------------------------------------+
| PI() |
+---------------------------------------------------------+
| 3.141593 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
Эти две функции возвращают значение X, возведенное в степень Y:
testdb=# SELECT POWER(3,3);
+---------------------------------------------------------+
| POWER(3,3) |
+---------------------------------------------------------+
| 27 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
Эта функция возвращает значение X, преобразованное из градусов в радианы:
testdb=#SELECT RADIANS(90);
+---------------------------------------------------------+
| RADIANS(90) |
+---------------------------------------------------------+
|1.570796 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
Эта функция возвращает значение X, округленное до ближайшего целого числа. Если указан второй аргумент, D, функция возвращает значение X, округленное до D знаков после запятой. D должен быть положительным, иначе все цифры справа от запятой будут удалены. Рассмотрим следующий пример:
testdb=#SELECT ROUND(5.693893);
+---------------------------------------------------------+
| ROUND(5.693893) |
+---------------------------------------------------------+
| 6 |
+---------------------------------------------------------+
1 row in set (0.00 sec)testdb=#SELECT ROUND(5.693893,2); +---------------------------------------------------------+ | ROUND(5.693893,2) | +---------------------------------------------------------+ | 5.69 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
Эта функция возвращает знак X (отрицательный, ноль или положительный) как -1, 0 или 1:
testdb=#SELECT SIGN(-4.65);
+---------------------------------------------------------+
| SIGN(-4.65) |
+---------------------------------------------------------+
| -1 |
+---------------------------------------------------------+
1 row in set (0.00 sec)testdb=#SELECT SIGN(0); +---------------------------------------------------------+ | SIGN(0) | +---------------------------------------------------------+ | 0 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
testdb=#SELECT SIGN(4.65); +---------------------------------------------------------+ | SIGN(4.65) | +---------------------------------------------------------+ | 1 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
Эта функция возвращает синус X. Рассмотрим следующий пример:
testdb=#SELECT SIN(90);
+---------------------------------------------------------+
| SIN(90) |
+---------------------------------------------------------+
| 0.893997 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
Эта функция возвращает неотрицательный квадратный корень из X. Рассмотрим следующий пример:
testdb=#SELECT SQRT(49); +---------------------------------------------------------+ | SQRT(49) | +---------------------------------------------------------+ | 7 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
Эта функция возвращает тангенс аргумента X, выраженный в радианах:
testdb=#SELECT TAN(45);
+---------------------------------------------------------+
| TAN(45) |
+---------------------------------------------------------+
| 1.619775 |
+---------------------------------------------------------+
1 row in set (0.00 sec)



