V PostgreSQL je to floor()
Funkce se používá pro zaokrouhlení čísla dolů na nejbližší celé číslo.
Je to v podstatě opak ceiling()
, která zaokrouhlí číslo nahoru .
Je také podobný round()
, kromě toho, že se zaokrouhluje pouze dolů. round()
funkce se zaokrouhlí nahoru nebo dolů podle potřeby.
Syntaxe
Syntaxe vypadá takto:
floor(dp or numeric)
Kde dp
označuje double precision
.
Návratový typ je stejný jako vstupní typ.
Příklad
Zde je příklad, který demonstruje jeho použití.
SELECT floor(3.99);
Výsledek:
3
V tomto případě jsou zlomkové sekundy 99 a číslo je zaokrouhleno dolů na nejbližší celé číslo.
Není divu, že dostanu stejný výsledek, když snížím zlomkové sekundy na 15.
SELECT floor(3.15);
Výsledek:
3
Záporná čísla
Zde je příklad, který používá záporná čísla.
SELECT
floor(-3.99),
floor(-3.15);
Výsledek:
floor | floor -------+------- -4 | -4
Floor() vs. Round()
Zde je příklad, který ilustruje rozdíl mezi floor()
a round()
.
SELECT
floor(3.99),
round(3.99);
Výsledek:
floor | round -------+------- 3 | 4
Pokud však snížím zlomkové sekundy pod 50, obě vrátí stejný výsledek.
SELECT
floor(3.49),
round(3.49);
Výsledek:
floor | round -------+------- 3 | 3
Floor() vs Ceiling()
Postgres má také ceiling()
funkce, která je podobná funkci floor()
kromě toho, že vždy zaokrouhlí číslo nahoru .
Zde je příklad, který ukazuje obě syntaxe vedle sebe.
SELECT
ceiling(12.80),
floor(12.80);
Výsledek:
ceiling | floor ---------+------- 13 | 12
A zde je příklad, který používá záporné hodnoty.
SELECT
ceiling(-12.30),
floor(-12.30);
Výsledek:
ceiling | floor ---------+------- -12 | -13