В 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