W MariaDB, FLOOR() jest wbudowaną funkcją numeryczną, która zwraca największą liczbę całkowitą nie większą niż jej argument.
Składnia
Składnia wygląda tak:
FLOOR(X)
Gdzie X jest wartością, na której ma zostać zastosowana operacja.
Przykład
Oto przykład:
SELECT FLOOR(3.6789); Wynik:
+---------------+ | FLOOR(3.6789) | +---------------+ | 3 | +---------------+
Przekazanie wartości ujemnej daje następujący wynik:
SELECT FLOOR(-3.6789); Wynik:
+----------------+ | FLOOR(-3.6789) | +----------------+ | -4 | +----------------+
W porównaniu z ROUND()
FLOOR() funkcja jest inna niż ROUND() funkcjonować. ROUND() funkcja zaokrągla liczbę w górę w niektórych przypadkach, aw innych w dół. FLOOR() z drugiej strony funkcja zawsze zwraca największą liczbę całkowitą nie większą niż jej argument.
SELECT
FLOOR(3.6789),
ROUND(3.6789); Wynik:
+---------------+---------------+ | FLOOR(3.6789) | ROUND(3.6789) | +---------------+---------------+ | 3 | 4 | +---------------+---------------+
Również ROUND() pozwala nam określić liczbę miejsc po przecinku do zaokrąglenia:
SELECT
FLOOR(3.6789),
ROUND(3.6789, 2); Wynik:
+---------------+------------------+ | FLOOR(3.6789) | ROUND(3.6789, 2) | +---------------+------------------+ | 3 | 3.68 | +---------------+------------------+
FLOOR() różni się także od TRUNCATE() funkcja, która po prostu obcina liczbę do podanego miejsca dziesiętnego.
Argumenty nieliczbowe
Oto, co się dzieje, gdy dostarczamy argument nieliczbowy:
SELECT FLOOR('Ten'); Wynik:
+--------------+
| FLOOR('Ten') |
+--------------+
| 0 |
+--------------+
1 row in set, 1 warning (0.000 sec) Sprawdźmy ostrzeżenie:
SHOW WARNINGS; Wynik:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Ten' | +---------+------+-----------------------------------------+
Brakujące argumenty
Wywołanie FLOOR() bez argumentu powoduje błąd:
SELECT FLOOR(); Wynik:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'FLOOR'