V PostgreSQL, div()
funkce vrátí celočíselný podíl svého prvního argumentu dělený jeho druhým argumentem.
Syntaxe
Oficiální syntaxe vypadá takto:
div(y numeric, x numeric)
Příklad
Zde je příklad, jak to funguje.
SELECT div(12, 3);
Výsledek:
4
V tomto případě jsem vydělil 12 3 a výsledek je 4.
Další divize
Zde je několik dalších divizí na stejném čísle.
SELECT
div(12, 1),
div(12, 2),
div(12, 3),
div(12, 4);
Výsledek:
div | div | div | div -----+-----+-----+----- 12 | 6 | 4 | 3
Dílčí výsledky
Tato funkce vrací celočíselný podíl, takže z výsledku jsou vynechány jakékoli zlomkové částky.
SELECT div(12, 5);
Výsledek:
2
12 děleno 5 je ve skutečnosti 2,4, ale tato funkce nevrací zlomkovou část, a tak dostáváme 2.
Nezdá se, že by bylo provedeno žádné zaokrouhlení. Například 9 děleno 5 je 1,8, ale div()
vrátí 1 (nezaokrouhluje se nahoru na 2).
SELECT div(9, 5);
Výsledek:
1
Takže se to chová spíše jako použití trunc()
(nebo možná dokonce floor()
) na výsledek, nikoli round()
nebo ceiling()
.
Dělení nulou
Pokud se pokusíte vydělit číslo nulou, dostanete chybu.
SELECT div(12, 0);
Výsledek:
ERROR: division by zero
Pokud ale vydělíte nulu jiným číslem, dostanete jen nulu.
SELECT div(0, 12);
Výsledek:
0