In PostgreSQL is de div()
functie retourneert het gehele quotiënt van zijn eerste argument gedeeld door zijn tweede argument.
Syntaxis
De officiële syntaxis gaat als volgt:
div(y numeric, x numeric)
Voorbeeld
Hier is een voorbeeld van hoe het werkt.
SELECT div(12, 3);
Resultaat:
4
In dit geval heb ik 12 gedeeld door 3 en het resultaat is 4.
Meer divisies
Hier zijn nog een paar divisies op hetzelfde nummer.
SELECT
div(12, 1),
div(12, 2),
div(12, 3),
div(12, 4);
Resultaat:
div | div | div | div -----+-----+-----+----- 12 | 6 | 4 | 3
Fractionele resultaten
Deze functie retourneert het gehele quotiënt, dus eventuele fractionele bedragen worden weggelaten uit het resultaat.
SELECT div(12, 5);
Resultaat:
2
12 gedeeld 5 is eigenlijk 2,4, maar deze functie retourneert het fractionele deel niet en dus krijgen we 2.
Er lijkt ook geen afronding te zijn gedaan. Bijvoorbeeld, 9 gedeeld door 5 is 1,8, maar div()
geeft 1 terug (het wordt niet naar boven afgerond).
SELECT div(9, 5);
Resultaat:
1
Het gedraagt zich dus meer als het toepassen van trunc()
(of misschien zelfs floor()
) naar het resultaat, in plaats van round()
of ceiling()
.
Delen door nul
Als je een getal door nul probeert te delen, krijg je een foutmelding.
SELECT div(12, 0);
Resultaat:
ERROR: division by zero
Maar als je nul deelt door een ander getal, krijg je gewoon nul.
SELECT div(0, 12);
Resultaat:
0