MySQL FLOOR() Function
Die Funktion `FLOOR()` in MySQL wird verwendet, um den größten ganzzahligen Wert zurückzugeben, der kleiner oder gleich einer bestimmten Zahl ist. Sie rundet eine Fließkommazahl auf die nächste Ganzzahl ab und funktioniert sowohl mit positiven als auch mit negativen Zahlen.
Verwendung
Die Funktion "FLOOR()" wird häufig verwendet, wenn du Dezimalwerte ohne Aufrunden auf ganze Zahlen abschneiden musst. Das kann in Szenarien wie der Berechnung von Rabatten oder der Handhabung ganzzahliger Logik nützlich sein.
sql
FLOOR(number);
In dieser Syntax ist "Zahl" der numerische Ausdruck, den du abrunden willst. Das kann eine Konstante, ein Spaltenwert oder ein komplexerer Ausdruck sein.
Beispiele
1. Grundlegende Verwendung
sql
SELECT FLOOR(3.75);
Diese Abfrage liefert `3`, da `FLOOR()` 3,75 auf die nächste ganze Zahl abrundet.
2. FLOOR() mit negativen Zahlen verwenden
sql
SELECT FLOOR(-4.2);
In diesem Beispiel gibt die Funktion `-5` zurück, da `-5` die größte ganze Zahl ist, die kleiner oder gleich `-4,2` ist, was das Konzept des Abrundens bei negativen Zahlen veranschaulicht.
3. Anwendung von FLOOR() in einer Tabellenabfrage
sql
SELECT product_name, FLOOR(price) AS discounted_price
FROM products;
Diese Abfrage wählt jeden Produktnamen aus und wendet die Funktion `FLOOR()` auf die Spalte `Preis` an, so dass die ganzzahlige Komponente jedes Preises als `discounted_price` angezeigt wird.
4. FLOOR() mit Nullen und großen Zahlen verwenden
sql
SELECT FLOOR(0), FLOOR(123456789.987);
Diese Abfrage zeigt, dass `FLOOR()` für eine Null und `123456789` für eine große Zahl zurückgibt, was ein einheitliches Verhalten über verschiedene Eingabebereiche hinweg zeigt.
5. Kombinieren von FLOOR() mit anderen Funktionen
sql
SELECT FLOOR(ABS(-5.7) * 2);
Hier wird `FLOOR()` in Verbindung mit `ABS()` verwendet, um den absoluten Wert von `-5,7` multipliziert mit `2` abzurunden, was die Verwendung in komplexeren Ausdrücken veranschaulicht.
Tipps und bewährte Praktiken
- Verwendung für ganzzahlige Berechnungen. FLOOR() ist ideal, wenn du mit ganzen Zahlen rechnest, um unerwartete Rundungen zu vermeiden.
- Berücksichtige die Leistung. Während `FLOOR()` im Allgemeinen effizient ist, kann seine Verwendung in berechneten Spalten oder Ansichten Indizierungsstrategien für eine optimale Leistung erfordern.
- Sei dir der negativen Werte bewusst. Beachte, dass `FLOOR()` bei negativen Zahlen unerwartete Ergebnisse liefern kann, weil es abrundet.
- Kombiniere mit anderen Funktionen. Benutze `FLOOR()` mit anderen Funktionen wie `ABS()` oder `MOD()` für komplexere mathematische Operationen.