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