sql >> Databáze >  >> RDS >> PostgreSQL

Jak Floor() funguje v PostgreSQL

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

  1. Prague PostgreSQL Developer Day 2016

  2. Vrátí přírůstkovou hodnotu sloupce identity na serveru SQL

  3. Najděte celkový počet výsledků v dotazu mySQL s offsetem+limitem

  4. Oracle- Rozdělit řetězec oddělený čárkou (řetězec obsahuje mezery a po sobě jdoucí čárky)