PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment fonctionne Div() dans PostgreSQL

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