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