В PostgreSQL много математических функций и операторов. Посмотрим еще на несколько.
% - остаток от деления
SELECT 3 % 2 AS "3 % 2",
5 % 3 AS "5 % 3",
9 % 3 AS "9 % 3"
# | 3 % 2 | 5 % 3 | 9 % 3 |
---|---|---|---|
1 | 1 | 2 | 0 |
Что будет, если взять остаток от деления от отрицательного числа?
SELECT -3 % 2 AS "-3 % 2",
-5 % 3 AS "-5 % 3",
-9 % 3 AS "-9 % 3"
# | -3 % 2 | -5 % 3 | -9 % 3 |
---|---|---|---|
1 | -1 | -2 | 0 |
А если от дробного?
SELECT 3.5 % 2 AS "3.5 % 2",
5.5 % 3 AS "5.5 % 3",
9.5 % 3 AS "9.5 % 3"
# | 3.5 % 2 | 5.5 % 3 | 9.5 % 3 |
---|---|---|---|
1 | 1.5 | 2.5 | 0.5 |
^ - возведение в степень
SELECT 2 ^ 2 AS "Два в квадрате",
2 ^ 3 AS "Два в кубе",
-2 ^ 3 AS "Минус два в кубе"
# | Два в квадрате | Два в кубе | Минус два в кубе |
---|---|---|---|
1 | 4 | 8 | -8 |
Степень не обязательно должна быть целым числом. С помощью возведения в степень можно посчитать квадратный корень:
SELECT 2 ^ 0.5 AS "Квадратный корень из 2",
3 ^ 0.5 AS "Квадратный корень из 3"
# | Квадратный корень из 2 | Квадратный корень из 3 |
---|---|---|
1 | 1.4142135623730950 | 1.7320508075688773 |
factorial - факториал
Факториал N - это произведение чисел от 1 до N. Например факториал 4 равен 1*2*3*4=24
.
SELECT factorial(4) AS "4!",
factorial(5) AS "5!",
factorial(6) AS "6!"
# | 4! | 5! | 6! |
---|---|---|---|
1 | 24 | 120 | 720 |
Список всех математических функций смотри здесь.