W PostgreSQL funkcja floor()
Funkcja służy do zaokrąglania liczby w dół do najbliższej liczby całkowitej.
Jest to w zasadzie przeciwieństwo ceiling()
, co zaokrągla liczbę w górę .
Jest również podobny do round()
, z tą różnicą, że tylko zaokrągla się w dół. round()
funkcja zaokrągli w górę lub w razie potrzeby.
Składnia
Składnia wygląda tak:
floor(dp or numeric)
Gdzie dp
wskazuje double precision
.
Typ zwracany jest taki sam jak typ wejściowy.
Przykład
Oto przykład demonstrujący jego użycie.
SELECT floor(3.99);
Wynik:
3
W tym przypadku ułamki sekund wynoszą 99, a liczba jest zaokrąglana w dół do najbliższej liczby całkowitej.
Nic dziwnego, że otrzymuję ten sam wynik, jeśli zmniejszę ułamki sekund do powiedzenia 15.
SELECT floor(3.15);
Wynik:
3
Liczby ujemne
Oto przykład, który używa liczb ujemnych.
SELECT
floor(-3.99),
floor(-3.15);
Wynik:
floor | floor -------+------- -4 | -4
Floor() kontra Round()
Oto przykład ilustrujący różnicę między floor()
i round()
.
SELECT
floor(3.99),
round(3.99);
Wynik:
floor | round -------+------- 3 | 4
Jeśli jednak zmniejszę ułamki sekund do poniżej 50, obie zwracają ten sam wynik.
SELECT
floor(3.49),
round(3.49);
Wynik:
floor | round -------+------- 3 | 3
Podłoga() kontra sufit()
Postgres ma również funkcję ceiling()
funkcja, która jest podobna do floor()
poza tym, że zawsze zaokrągla liczbę w górę .
Oto przykład, który pokazuje obie składnie obok siebie.
SELECT
ceiling(12.80),
floor(12.80);
Wynik:
ceiling | floor ---------+------- 13 | 12
A oto przykład, który używa wartości ujemnych.
SELECT
ceiling(-12.30),
floor(-12.30);
Wynik:
ceiling | floor ---------+------- -12 | -13