In MariaDB, FLOOR()
is een ingebouwde numerieke functie die de grootste gehele waarde retourneert die niet groter is dan zijn argument.
Syntaxis
De syntaxis gaat als volgt:
FLOOR(X)
Waar X
is de waarde waarop de bewerking moet worden toegepast.
Voorbeeld
Hier is een voorbeeld:
SELECT FLOOR(3.6789);
Resultaat:
+---------------+ | FLOOR(3.6789) | +---------------+ | 3 | +---------------+
Het doorgeven van een negatieve waarde levert het volgende resultaat op:
SELECT FLOOR(-3.6789);
Resultaat:
+----------------+ | FLOOR(-3.6789) | +----------------+ | -4 | +----------------+
Vergeleken met ROUND()
De FLOOR()
functie is anders dan de ROUND()
functie. De ROUND()
functie zou het getal in sommige gevallen naar boven afronden en in andere naar beneden. De FLOOR()
functie, aan de andere kant, retourneert altijd de grootste gehele waarde die niet groter is dan zijn argument.
SELECT
FLOOR(3.6789),
ROUND(3.6789);
Resultaat:
+---------------+---------------+ | FLOOR(3.6789) | ROUND(3.6789) | +---------------+---------------+ | 3 | 4 | +---------------+---------------+
Ook ROUND()
stelt ons in staat om het aantal decimalen te specificeren waarop moet worden afgerond:
SELECT
FLOOR(3.6789),
ROUND(3.6789, 2);
Resultaat:
+---------------+------------------+ | FLOOR(3.6789) | ROUND(3.6789, 2) | +---------------+------------------+ | 3 | 3.68 | +---------------+------------------+
FLOOR()
is ook anders dan de TRUNCATE()
functie, die het getal eenvoudig afkapt tot een bepaald decimaalteken.
Niet-numerieke argumenten
Dit is wat er gebeurt als we een niet-numeriek argument opgeven:
SELECT FLOOR('Ten');
Resultaat:
+--------------+ | FLOOR('Ten') | +--------------+ | 0 | +--------------+ 1 row in set, 1 warning (0.000 sec)
Laten we de waarschuwing eens bekijken:
SHOW WARNINGS;
Resultaat:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Ten' | +---------+------+-----------------------------------------+
Ontbrekende argumenten
Bellen FLOOR()
zonder een argument resulteert in een fout:
SELECT FLOOR();
Resultaat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'FLOOR'