sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur Ceiling() fungerar i PostgreSQL

I PostgreSQL, ceiling() funktion används för att avrunda ett tal uppåt till närmaste heltal.

Det liknar round() , förutom att det bara avrundas uppåt. round() funktionen kommer att runda upp eller ner efter behov.

Det liknar också floor() , förutom att floor() rundar ned istället för upp.

Syntax

ceiling() funktionen kan användas på något av följande sätt:

ceil(dp or numeric)
ceiling(dp or numeric)

Där dp indikerar double precision .

Returtypen är densamma som inmatningstypen.

Båda syntaxerna fungerar exakt likadant. Den första syntaxen är helt enkelt ett mer kortfattat sätt att göra det på.

Exempel

Här är ett exempel för att demonstrera dess användning.

SELECT ceiling(12.10);

Resultat:

13

I det här fallet är bråksekunderna 10 och talet avrundas uppåt till närmaste heltal.

Det säger sig nog självklart, men om jag ökar bråksekunderna till 50 avrundar det ändå uppåt.

SELECT ceiling(12.70);

Resultat:

13

Negativa tal

Här är ett exempel som använder negativa tal.

SELECT 
  ceiling(-12.10),
  ceiling(-12.90);

Resultat:

 ceiling | ceiling
---------+---------
     -12 | -12

Ceil() vs Ceiling()

Som nämnts, ceil() och ceiling() är likvärdiga.

Här är ett exempel som visar båda syntaxerna sida vid sida.

SELECT 
  ceil(12.10),
  ceiling(12.10);

Resultat:

 ceil | ceiling
------+---------
   13 | 13

Ceiling() vs Round()

Om jag hade använt round() , 12.10 värde skulle ha avrundats nedåt (eftersom bråksekunderna är mindre än 50).

Här är ett exempel som illustrerar skillnaden mellan ceiling() och round() .

SELECT 
  ceiling(12.10),
  round(12.10);

Resultat:

 ceiling | round
---------+-------
      13 | 12

Men om jag ökar bråksekunderna till 50, ger de båda samma resultat.

SELECT 
  ceiling(12.50),
  round(12.50);

Resultat:

 ceiling | round
---------+-------
      13 | 13

Ceiling() vs Floor()

Postgres har också en floor() funktion, som liknar ceiling() förutom att det alltid avrundar siffran nedåt .

Här är ett exempel som visar båda syntaxerna sida vid sida.

SELECT 
  ceiling(12.80),
  floor(12.80);

Resultat:

 ceiling | floor
---------+-------
      13 | 12

Och här är ett exempel som använder negativa värden.

SELECT 
  ceiling(-12.30),
  floor(-12.30);

Resultat:

 ceiling | floor
---------+-------
     -12 | -13


  1. Flera Hibernate-sekvensgeneratorer för en enhet med PostgreSQL

  2. Hur man lägger till antal dagar i postgresql datetime

  3. Hur laddar din Oracle ODBC-drivrutin Oracle-klienten?

  4. Konfigurera Django och PostgreSQL på två olika EC2-instanser