В PostgreSQL, div() функцията връща целочисленото частно на първия си аргумент, разделено на втория си аргумент.
Синтаксис
Официалният синтаксис е така:
div(y numeric, x numeric) Пример
Ето пример за това как работи.
SELECT div(12, 3); Резултат:
4
В този случай разделих 12 на 3 и резултатът е 4.
Още дивизии
Ето още няколко деления на същото число.
SELECT
div(12, 1),
div(12, 2),
div(12, 3),
div(12, 4); Резултат:
div | div | div | div -----+-----+-----+----- 12 | 6 | 4 | 3
Дробни резултати
Тази функция връща цяло число, така че всички дробни суми се пропускат от резултата.
SELECT div(12, 5); Резултат:
2
12 разделено 5 всъщност е 2.4, но тази функция не връща дробната част и така получаваме 2.
Изглежда също не е извършено закръгляване. Например, 9 разделено на 5 е 1,8, но div() връща 1 (не се закръглява до 2).
SELECT div(9, 5); Резултат:
1
Така че се държи по-скоро като прилагане на trunc() (или може би дори floor() ) към резултата, а не round() или ceiling() .
Деление на нула
Ако се опитате да разделите число на нула, ще получите грешка.
SELECT div(12, 0); Резултат:
ERROR: division by zero
Но ако разделите нула на друго число, тогава просто ще получите нула.
SELECT div(0, 12); Резултат:
0