I PostgreSQL, div()
funktion returnerar heltalskvoten för dess första argument dividerat med dess andra argument.
Syntax
Den officiella syntaxen ser ut så här:
div(y numeric, x numeric)
Exempel
Här är ett exempel på hur det fungerar.
SELECT div(12, 3);
Resultat:
4
I det här fallet delade jag 12 med 3, och resultatet är 4.
Fler divisioner
Här är några fler divisioner på samma nummer.
SELECT
div(12, 1),
div(12, 2),
div(12, 3),
div(12, 4);
Resultat:
div | div | div | div -----+-----+-----+----- 12 | 6 | 4 | 3
Bråkresultat
Den här funktionen returnerar heltalskvoten, så eventuella bråkbelopp utelämnas från resultatet.
SELECT div(12, 5);
Resultat:
2
12 dividerat med 5 är faktiskt 2,4, men den här funktionen returnerar inte bråkdelen och därför får vi 2.
Det verkar inte heller ha gjorts någon avrundning. Till exempel är 9 dividerat med 5 1,8, men div()
returnerar 1 (det avrundas inte uppåt till 2).
SELECT div(9, 5);
Resultat:
1
Så det beter sig mer som att tillämpa trunc()
(eller kanske till och med floor()
) till resultatet, snarare än round()
eller ceiling()
.
Division med noll
Om du försöker dividera ett tal med noll får du ett felmeddelande.
SELECT div(12, 0);
Resultat:
ERROR: division by zero
Men om du dividerar noll med ett annat tal får du bara noll.
SELECT div(0, 12);
Resultat:
0