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