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