sql >> Database >  >> RDS >> PostgreSQL

Hoe Div() werkt in PostgreSQL

In PostgreSQL is de div() functie retourneert het gehele quotiënt van zijn eerste argument gedeeld door zijn tweede argument.

Syntaxis

De officiële syntaxis gaat als volgt:

div(y numeric, x numeric)

Voorbeeld

Hier is een voorbeeld van hoe het werkt.

SELECT div(12, 3);

Resultaat:

4

In dit geval heb ik 12 gedeeld door 3 en het resultaat is 4.

Meer divisies

Hier zijn nog een paar divisies op hetzelfde nummer.

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

Resultaat:

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

Fractionele resultaten

Deze functie retourneert het gehele quotiënt, dus eventuele fractionele bedragen worden weggelaten uit het resultaat.

SELECT div(12, 5);

Resultaat:

2

12 gedeeld 5 is eigenlijk 2,4, maar deze functie retourneert het fractionele deel niet en dus krijgen we 2.

Er lijkt ook geen afronding te zijn gedaan. Bijvoorbeeld, 9 gedeeld door 5 is 1,8, maar div() geeft 1 terug (het wordt niet naar boven afgerond).

SELECT div(9, 5);

Resultaat:

1

Het gedraagt ​​zich dus meer als het toepassen van trunc() (of misschien zelfs floor() ) naar het resultaat, in plaats van round() of ceiling() .

Delen door nul

Als je een getal door nul probeert te delen, krijg je een foutmelding.

SELECT div(12, 0);

Resultaat:

ERROR: division by zero

Maar als je nul deelt door een ander getal, krijg je gewoon nul.

SELECT div(0, 12);

Resultaat:

0

  1. Hoe JSONB in ​​Postgresql invoegen met Python?

  2. Benchmarking handmatige database-implementaties versus geautomatiseerde implementaties

  3. Update meerdere kolommen in SQL

  4. Ruby 'pg' gem linkt naar verkeerde kopie van libpq.5.dylib (op OSX)