W PostgreSQL funkcja div() funkcja zwraca iloraz całkowity pierwszego argumentu podzielony przez drugi argument.
Składnia
Oficjalna składnia wygląda następująco:
div(y numeric, x numeric) Przykład
Oto przykład tego, jak to działa.
SELECT div(12, 3); Wynik:
4
W tym przypadku podzieliłem 12 przez 3, a wynik to 4.
Więcej dywizji
Oto kilka innych dywizji pod tym samym numerem.
SELECT
div(12, 1),
div(12, 2),
div(12, 3),
div(12, 4); Wynik:
div | div | div | div -----+-----+-----+----- 12 | 6 | 4 | 3
Wyniki ułamkowe
Ta funkcja zwraca iloraz całkowity, więc wszelkie kwoty ułamkowe są pomijane w wyniku.
SELECT div(12, 5); Wynik:
2
12 podzielone 5 to w rzeczywistości 2,4, ale ta funkcja nie zwraca części ułamkowej, więc otrzymujemy 2.
Wygląda na to, że nie dokonano również żadnych zaokrągleń. Na przykład 9 podzielone przez 5 to 1,8, ale div() zwraca 1 (nie zaokrągla do 2).
SELECT div(9, 5); Wynik:
1
Więc zachowuje się bardziej jak zastosowanie trunc() (a może nawet floor() ) do wyniku, a nie round() lub ceiling() .
Podział przez zero
Jeśli spróbujesz podzielić liczbę przez zero, otrzymasz błąd.
SELECT div(12, 0); Wynik:
ERROR: division by zero
Ale jeśli podzielisz zero przez inną liczbę, to po prostu otrzymasz zero.
SELECT div(0, 12); Wynik:
0