Dans PostgreSQL, le div()
La fonction renvoie le quotient entier de son premier argument divisé par son deuxième argument.
Syntaxe
La syntaxe officielle ressemble à ceci :
div(y numeric, x numeric)
Exemple
Voici un exemple de son fonctionnement.
SELECT div(12, 3);
Résultat :
4
Dans ce cas, j'ai divisé 12 par 3, et le résultat est 4.
Plus de divisions
Voici quelques divisions supplémentaires sur le même numéro.
SELECT
div(12, 1),
div(12, 2),
div(12, 3),
div(12, 4);
Résultat :
div | div | div | div -----+-----+-----+----- 12 | 6 | 4 | 3
Résultats fractionnaires
Cette fonction renvoie le quotient entier, de sorte que tous les montants fractionnaires sont omis du résultat.
SELECT div(12, 5);
Résultat :
2
12 divisé 5 est en fait 2,4, mais cette fonction ne renvoie pas la partie fractionnaire et nous obtenons donc 2.
Il ne semble pas non plus y avoir d'arrondi. Par exemple, 9 divisé par 5 est 1,8, mais div()
renvoie 1 (il n'arrondit pas à 2).
SELECT div(9, 5);
Résultat :
1
Il se comporte donc plus comme l'application de trunc()
(ou peut-être même floor()
) au résultat, plutôt que round()
ou ceiling()
.
Division par zéro
Si vous essayez de diviser un nombre par zéro, vous obtiendrez une erreur.
SELECT div(12, 0);
Résultat :
ERROR: division by zero
Mais si vous divisez zéro par un autre nombre, vous n'obtiendrez que zéro.
SELECT div(0, 12);
Résultat :
0