sql >> Databáze >  >> RDS >> PostgreSQL

Jak funguje Div() v PostgreSQL

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

  1. Jaký je nejelegantnější způsob, jak uložit časové razítko s nanosec v postgresql?

  2. Jak udělat sloupec jedinečným v SQL?

  3. Jak převést číslo na slova - ORACLE

  4. Vytváření a používání uložených procedur MySQL – výukový program