PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Funktionsweise von Floor() in PostgreSQL

In PostgreSQL der floor() Funktion wird verwendet, um eine Zahl auf die nächste ganze Zahl abzurunden.

Es ist im Grunde das Gegenteil von ceiling() , das eine Zahl auf rundet .

Es ähnelt auch round() , außer dass es nur abgerundet wird. Die round() Die Funktion rundet oder auf nach Bedarf herunterfahren.

Syntax

Die Syntax lautet wie folgt:

floor(dp or numeric)

Wobei dp gibt double precision an .

Der Rückgabetyp ist derselbe wie der Eingabetyp.

Beispiel

Hier ist ein Beispiel, um die Verwendung zu demonstrieren.

SELECT floor(3.99);

Ergebnis:

3

In diesem Fall sind die Sekundenbruchteile 99 und die Zahl wird auf die nächste ganze Zahl abgerundet.

Es überrascht nicht, dass ich das gleiche Ergebnis erhalte, wenn ich die Sekundenbruchteile auf 15 verringere.

SELECT floor(3.15);

Ergebnis:

3

Negative Zahlen

Hier ist ein Beispiel, das negative Zahlen verwendet.

SELECT 
  floor(-3.99),
  floor(-3.15);

Ergebnis:

 floor | floor
-------+-------
    -4 | -4

Boden() vs. Rund()

Hier ist ein Beispiel, das den Unterschied zwischen floor() veranschaulicht und round() .

SELECT 
  floor(3.99),
  round(3.99);

Ergebnis:

 floor | round
-------+-------
     3 | 4

Wenn ich jedoch die Sekundenbruchteile auf unter 50 verringere, geben beide das gleiche Ergebnis zurück.

SELECT 
  floor(3.49),
  round(3.49);

Ergebnis:

 floor | round
-------+-------
     3 | 3

Boden() vs. Decke()

Postgres hat auch eine ceiling() Funktion, die floor() ähnelt außer dass die Zahl immer auf gerundet wird .

Hier ist ein Beispiel, das beide Syntaxen nebeneinander zeigt.

SELECT 
  ceiling(12.80),
  floor(12.80);

Ergebnis:

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

Und hier ist ein Beispiel, das negative Werte verwendet.

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

Ergebnis:

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