PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come funziona Div() in PostgreSQL

In PostgreSQL, il div() funzione restituisce il quoziente intero del suo primo argomento diviso per il suo secondo argomento.

Sintassi

La sintassi ufficiale è questa:

div(y numeric, x numeric)

Esempio

Ecco un esempio di come funziona.

SELECT div(12, 3);

Risultato:

4

In questo caso ho diviso 12 per 3 e il risultato è 4.

Più divisioni

Ecco qualche altra divisione sullo stesso numero.

SELECT 
  div(12, 1),
  div(12, 2),
  div(12, 3),
  div(12, 4);

Risultato:

 div | div | div | div
-----+-----+-----+-----
  12 |   6 |   4 |   3

Risultati frazionari

Questa funzione restituisce il quoziente intero, quindi eventuali importi frazionari vengono omessi dal risultato.

SELECT div(12, 5);

Risultato:

2

12 diviso 5 è in realtà 2.4, ma questa funzione non restituisce la parte frazionaria e quindi otteniamo 2.

Non sembra nemmeno essere stato eseguito alcun arrotondamento. Ad esempio, 9 diviso per 5 è 1,8, ma div() restituisce 1 (non arrotonda a 2).

SELECT div(9, 5);

Risultato:

1

Quindi si comporta più come applicare trunc() (o forse anche floor() ) al risultato, anziché round() o ceiling() .

Divisione per Zero

Se provi a dividere un numero per zero, riceverai un errore.

SELECT div(12, 0);

Risultato:

ERROR: division by zero

Ma se dividi zero per un altro numero, otterrai semplicemente zero.

SELECT div(0, 12);

Risultato:

0