I PostgreSQL er div()
funktion returnerer heltalskvotienten af dets første argument divideret med dets andet argument.
Syntaks
Den officielle syntaks lyder sådan her:
div(y numeric, x numeric)
Eksempel
Her er et eksempel på, hvordan det virker.
SELECT div(12, 3);
Resultat:
4
I dette tilfælde dividerede jeg 12 med 3, og resultatet er 4.
Flere divisioner
Her er nogle flere divisioner på samme nummer.
SELECT
div(12, 1),
div(12, 2),
div(12, 3),
div(12, 4);
Resultat:
div | div | div | div -----+-----+-----+----- 12 | 6 | 4 | 3
Brøkresultater
Denne funktion returnerer heltalskvotienten, så eventuelle brøkbeløb udelades fra resultatet.
SELECT div(12, 5);
Resultat:
2
12 divideret med 5 er faktisk 2,4, men denne funktion returnerer ikke brøkdelen, så vi får 2.
Der ser heller ikke ud til at være foretaget nogen afrunding. For eksempel er 9 divideret med 5 1,8, men div()
returnerer 1 (det runder ikke op til 2).
SELECT div(9, 5);
Resultat:
1
Så det opfører sig mere som at anvende trunc()
(eller måske endda floor()
) til resultatet i stedet for round()
eller ceiling()
.
Division med nul
Hvis du prøver at dividere et tal med nul, får du en fejl.
SELECT div(12, 0);
Resultat:
ERROR: division by zero
Men hvis du dividerer nul med et andet tal, så får du bare nul.
SELECT div(0, 12);
Resultat:
0