In MariaDB FLOOR()
ist eine eingebaute numerische Funktion, die den größten ganzzahligen Wert zurückgibt, der nicht größer als sein Argument ist.
Syntax
Die Syntax lautet wie folgt:
FLOOR(X)
Wobei X
ist der Wert, auf den die Operation angewendet werden soll.
Beispiel
Hier ist ein Beispiel:
SELECT FLOOR(3.6789);
Ergebnis:
+---------------+ | FLOOR(3.6789) | +---------------+ | 3 | +---------------+
Das Übergeben eines negativen Werts führt zu folgendem Ergebnis:
SELECT FLOOR(-3.6789);
Ergebnis:
+----------------+ | FLOOR(-3.6789) | +----------------+ | -4 | +----------------+
Im Vergleich zu ROUND()
Der FLOOR()
Funktion unterscheidet sich von ROUND()
Funktion. Das ROUND()
Die Funktion würde die Zahl in einigen Fällen aufrunden und in anderen abrunden. Der FLOOR()
Die Funktion hingegen gibt immer den größten ganzzahligen Wert zurück, der nicht größer als ihr Argument ist.
SELECT
FLOOR(3.6789),
ROUND(3.6789);
Ergebnis:
+---------------+---------------+ | FLOOR(3.6789) | ROUND(3.6789) | +---------------+---------------+ | 3 | 4 | +---------------+---------------+
Auch ROUND()
ermöglicht es uns, die Anzahl der Dezimalstellen anzugeben, auf die gerundet werden soll:
SELECT
FLOOR(3.6789),
ROUND(3.6789, 2);
Ergebnis:
+---------------+------------------+ | FLOOR(3.6789) | ROUND(3.6789, 2) | +---------------+------------------+ | 3 | 3.68 | +---------------+------------------+
FLOOR()
unterscheidet sich auch von TRUNCATE()
Funktion, die die Zahl einfach auf eine bestimmte Dezimalstelle kürzt.
Nicht numerische Argumente
Folgendes passiert, wenn wir ein nicht numerisches Argument angeben:
SELECT FLOOR('Ten');
Ergebnis:
+--------------+ | FLOOR('Ten') | +--------------+ | 0 | +--------------+ 1 row in set, 1 warning (0.000 sec)
Sehen wir uns die Warnung an:
SHOW WARNINGS;
Ergebnis:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Ten' | +---------+------+-----------------------------------------+
Fehlende Argumente
Aufruf von FLOOR()
ohne Argument führt zu einem Fehler:
SELECT FLOOR();
Ergebnis:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'FLOOR'