sql >> Database >  >> RDS >> PostgreSQL

Hoe Plafond() werkt in PostgreSQL

In PostgreSQL is het ceiling() functie wordt gebruikt om een ​​getal naar boven af ​​te ronden op het dichtstbijzijnde gehele getal.

Het is vergelijkbaar met round() , behalve dat het alleen naar boven wordt afgerond. De round() functie zal of . naar boven afronden omlaag indien nodig.

Het lijkt ook op floor() , behalve dat floor() rondt naar beneden af in plaats van omhoog.

Syntaxis

Het ceiling() functie kan op een van de volgende manieren worden gebruikt:

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

Waar dp geeft double precision . aan .

Het retourtype is hetzelfde als het invoertype.

Beide syntaxis werken precies hetzelfde. De eerste syntaxis is gewoon een beknoptere manier om het te doen.

Voorbeeld

Hier is een voorbeeld om het gebruik te demonstreren.

SELECT ceiling(12.10);

Resultaat:

13

In dit geval zijn de fractionele seconden 10 en wordt het getal naar boven afgerond op het dichtstbijzijnde gehele getal.

Het is waarschijnlijk vanzelfsprekend, maar als ik de fracties van seconden verhoog naar 50, rondt het nog steeds naar boven af.

SELECT ceiling(12.70);

Resultaat:

13

Negatieve getallen

Hier is een voorbeeld dat negatieve getallen gebruikt.

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

Resultaat:

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

Ceil() vs Plafond()

Zoals vermeld, ceil() en ceiling() gelijkwaardig zijn.

Hier is een voorbeeld waarin beide syntaxis naast elkaar worden weergegeven.

SELECT 
  ceil(12.10),
  ceiling(12.10);

Resultaat:

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

Plafond() vs Rond()

Als ik round() . had gebruikt , de 12.10 waarde zou zijn afgerond naar beneden (omdat de fractionele seconden minder dan 50 zijn).

Hier is een voorbeeld dat het verschil illustreert tussen ceiling() en round() .

SELECT 
  ceiling(12.10),
  round(12.10);

Resultaat:

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

Als ik de fractionele seconden echter verhoog naar 50, geven ze allebei hetzelfde resultaat.

SELECT 
  ceiling(12.50),
  round(12.50);

Resultaat:

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

Plafond() vs Vloer()

Postgres heeft ook een floor() functie, die vergelijkbaar is met ceiling() behalve dat het getal altijd naar beneden wordt afgerond .

Hier is een voorbeeld waarin beide syntaxis naast elkaar worden weergegeven.

SELECT 
  ceiling(12.80),
  floor(12.80);

Resultaat:

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

En hier is een voorbeeld dat negatieve waarden gebruikt.

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

Resultaat:

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


  1. Installeer en maak verbinding met PostgreSQL 10 op Ubuntu 16.04

  2. Wat is DBMS? – Een uitgebreide gids voor databasebeheersystemen

  3. Aan de slag met SQL Server 2017 op Linux in de Azure-portal

  4. Wijzig het datumformaat voor de huidige sessie in SQL Server