I PostgreSQL er floor() funktion bruges til at runde et tal ned til nærmeste heltal.
Det er dybest set det modsatte af ceiling() , som runder et tal op .
Det ligner også round() , bortset fra at det kun runder ned. round() funktionen runder eller op ned efter behov.
Syntaks
Syntaksen ser sådan ud:
floor(dp or numeric)
Hvor dp angiver double precision .
Returtypen er den samme som inputtypen.
Eksempel
Her er et eksempel for at demonstrere dets brug.
SELECT floor(3.99); Resultat:
3
I dette tilfælde er brøksekunderne 99, og tallet rundes ned til nærmeste heltal.
Ikke overraskende får jeg det samme resultat, hvis jeg reducerer brøksekunderne til at sige 15.
SELECT floor(3.15); Resultat:
3
Negative tal
Her er et eksempel, der bruger negative tal.
SELECT
floor(-3.99),
floor(-3.15); Resultat:
floor | floor -------+------- -4 | -4
Etage() vs Round()
Her er et eksempel, der illustrerer forskellen mellem floor() og round() .
SELECT
floor(3.99),
round(3.99); Resultat:
floor | round -------+------- 3 | 4
Men hvis jeg reducerer brøksekunderne til under 50, returnerer de begge det samme resultat.
SELECT
floor(3.49),
round(3.49); Resultat:
floor | round -------+------- 3 | 3
Floor() vs Ceiling()
Postgres har også et ceiling() funktion, som ligner floor() bortset fra at det altid runder tallet op .
Her er et eksempel, der viser begge syntakser side om side.
SELECT
ceiling(12.80),
floor(12.80); Resultat:
ceiling | floor ---------+------- 13 | 12
Og her er et eksempel, der bruger negative værdier.
SELECT
ceiling(-12.30),
floor(-12.30); Resultat:
ceiling | floor ---------+------- -12 | -13