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