Простейшие арифметические операции (% ^ !)

В 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

Список всех математических функций смотри здесь.

8.3 Деление целых чисел

8.5 Получение числа из строки