Lernpfad
Wenn du mit Daten arbeitest, ist Präzision wichtig. Aber als Datenwissenschaftler/in oder Dateningenieur/in hast du jeden Tag mit der Komplexität zu tun, die Daten in Erkenntnisse zu verwandeln.
Da du deine Fähigkeiten immer weiter ausbauen kannst, kannst du deine Fähigkeiten und dein Selbstvertrauen im Umgang mit Daten mit der SQL-Funktion `ROUND` verbessern.
In diesem Leitfaden erfährst du, wie du mit der SQL-Funktion `ROUND' die Datengenauigkeit in deiner Analyse verfeinern kannst.
Was ist SQL ROUND?
Die Funktion ROUND ist ein grundlegendes Werkzeug, um die Genauigkeit von numerischen Daten in SQL anzupassen. Sie rundet Werte auf eine bestimmte Anzahl von Dezimalstellen und vereinfacht die Daten für die Analyse.
Mit SQL ROUND kannst du zum Beispiel eine Zahl wie 3.14159 in 3.14 ändern, indem du sie auf zwei Dezimalstellen rundest. Das ist hilfreich, wenn exakte Genauigkeit nicht nötig ist und gerundete Zahlen für die Interpretation ausreichen.
Jetzt, wo du weißt, was SQL ROUND ist, wollen wir sehen, wie du es in verschiedenen Datenbanken einsetzen kannst.
ROUND Syntax
Die Funktion ROUND ist weit verbreitet, aber ihre Syntax ist nicht für alle Datenbanken einheitlich. Hier ist der Unterschied:
Syntax in Oracle, MySQL und PostgreSQL
In diesen Datenbanken hat ROUND ein einfaches Format mit zwei Parametern:
ROUND(number, decimal_places)
Hier:
- Die Eingabe bezieht sich auf die Zahl, die du runden willst.
- Dezimalstellen geben die Anzahl der Dezimalstellen an, auf die gerundet werden soll.
Syntax in SQL Server
SQL Server erweitert dieses Format jedoch um einen optionalen dritten Parameter namens function:
ROUND(number, decimal_places [, function])
Hier:
- Die ersten beiden Parameter, Eingabe und Dezimalstellen, funktionieren genau wie bei den anderen Datenbanken.
- Der optionale Funktionsparameter legt die Richtung der Rundung unter bestimmten Bedingungen fest.
Dieser Syntaxunterschied sieht klein aus, ist aber sehr wichtig, denn er hilft dir, die Funktion ROUND richtig anzuwenden, unabhängig von der Datenbankumgebung, in der du arbeitest.
Parameter der SQL-Funktion ROUND
Die Funktion ROUND verwendet drei Hauptparameter: Eingabe, Dezimalstellen und Operation. Wenn du diese Parameter verstehst, kannst du die Funktion in SQL-Datenbanken effektiv nutzen.
Input Parameter
Die Eingabe ist die Zahl, die du runden willst. Es kann eine direkte Zahl, eine Datenbankspalte oder das Ergebnis eines Ausdrucks sein.
Dezimaler Parameter
Der Dezimalparameter bestimmt, auf wie viele Dezimalstellen du die Eingabe rundest. Eine positive Zahl rundet hier auf so viele Dezimalstellen.
Function Parameter
Der Funktionsparameter ist optional. Sie bestimmt die Rundungsrichtung für Werte, die genau in der Mitte zwischen zwei Zahlen liegen. In der Standardeinstellung ist der Wert 0. Jeder andere Wert bewirkt, dass die Funktion die Eingabe ohne Rundung abschneidet oder abkürzt.
Diese Parameter helfen bei der präzisen und kontrollierten Rundung von Zahlen.
Verwendung der SQL ROUND-Funktion in SQL-Datenbanken
Du kannst SQL ROUND für verschiedene SQL-Datenbanken verwenden. Je nach Datenbank kann sich ihre Anwendung jedoch in Syntax und Verhalten leicht unterscheiden.
Hier erfährst du, wie du sie in einigen der beliebtesten Datenbanken verwenden kannst:
Implementierung in Oracle
Die Funktion ROUND in Oracle arbeitet mit numerischen Daten und Datumswerten. Bei der Anwendung auf Zahlen rundet sie den Wert auf die angegebene Dezimalstelle.
Bei Datumswerten kann ROUND ein Datum auf den nächsten Tag, Monat, das nächste Jahr usw. anpassen, je nachdem, welches Format angegeben wurde.
Hier ist ein Beispiel dafür, wie es in Oracle funktioniert:
Angenommen, du hast die folgende Tabelle PRODUCTS.

Wenn du die Spalte standard_cost auf eine Dezimalstelle runden willst, musst du folgende Abfrage machen.
SELECT Round(STANDARD_COST, 1)
FROM PRODUCTS
So sehen die abgerundeten Kosten aus.

Implementieren in MySQL
In MySQL funktioniert ROUND ähnlich wie das Runden von Zahlen auf eine bestimmte Genauigkeit.
Hier ist ein Beispiel dafür, wie es funktioniert:
Angenommen, du hast die folgende Tabelle purchase_details.

Wenn du die Spalte Paid_amount auf zwei Nachkommastellen runden willst, musst du folgende Abfrage machen.
SELECT Round(Paid_amount, 2)
AS Result
FROM purchase_details
So sieht der abgerundete Betrag aus.

Implementieren in PostgreSQL
Auch PostgreSQL implementiert ROUND auf ähnliche Weise. Hier ist ein Beispiel, wie du es umsetzen kannst:
Angenommen, du hast die folgende Tabelle reviews.

Wenn du die Spalte imdb_score auf null Nachkommastellen runden willst, musst du folgende Abfrage machen.
SELECT Round(imdb_score, 0)
AS Result
FROM cinema.reviews
So werden die abgerundeten Filmkritiken aussehen.

Implementieren in SQL Server
In Microsoft SQL Server verhält sich ROUND beim Umgang mit numerischen Werten ähnlich wie Oracle.
Ein einzigartiger Aspekt von SQL Server ist jedoch sein dritter Parameter - function - mit dem die Benutzer angeben können, ob sie die Zahl runden (function = 0 oder weglassen) oder abschneiden (function = 1) wollen.
Hier ist ein Beispiel dafür, wie SQL ROUND in einem SQL-Server funktioniert:
Angenommen, du hast die folgende Tabelle order_items.

Wenn du die Spalte list_price auf eine Dezimalstelle runden willst, musst du folgende Abfrage machen.
SELECT Round(list_price, 1,0)
AS Result
FROM sales.order_items
So sieht der abgerundete Preis aus.

Praktische Umsetzung
Jetzt, wo du die Parameter kennst, ist es an der Zeit, die Funktion ROUND praktisch umzusetzen. Sehen wir uns also an, wie man das mit Zahlen und Daten in der Datenanalyse macht.
RUND mit Zahlen
Angenommen, du hast eine Tabelle mit dem Namen orderDetails, die eine Spalte mit Preisen mit mehreren Nachkommastellen enthält.

Wenn du die Spalte Price auf eine Dezimalstelle runden willst, musst du folgende Abfrage machen.
SELECT Round(Price, 1)
AS Result
FROM orderDetails
Diese Abfrage rundet jeden Preis in der Tabelle auf eine Dezimalstelle.
Und so wird das Ergebnis aussehen:

RUND mit Daten
In SQL kannst du Datumswerte auf eine bestimmte Komponente wie das Jahr, den Monat, die Stunde oder die Minute runden.
Angenommen, du hast eine Tabelle mit dem Namen orders.

Wenn du die Spalte order_date auf das nächste Jahr aufrunden willst, musst du die folgende Abfrage machen:
SELECT YEAR(order_date)
AS ROUNDED_DATE
FROM sales.orders
Diese Abfrage rundet jedes Datum in der Spalte auf das nächste Jahr.
Und so wird das Ergebnis aussehen:

SQL ROUND Fortgeschrittene Techniken
Neben der einfachen Rundung wird die Funktion SQL ROUND auch in fortgeschritteneren Szenarien verwendet, wie z.B:
- SQL-Runde
- SQL abrunden
- Rundung auf bestimmte Intervalle
So funktioniert das Ganze:
SQL ROUND Up und ROUND Down
Während die Funktion ROUND auf den nächstliegenden Wert rundet, kannst du mit den Funktionen CEIL und FLOOR bestimmte Rundungsrichtungen erreichen.
CEIL Funktion rundet jeden Dezimalwert auf die nächste ganze Zahl auf. Sieh dir zum Beispiel das hier an:
Du hast eine Tabelle namens reviews.

Hier siehst du, wie du die Funktion CEIL auf die Spalte user_score anwendest.
Select CEIL(user_score)
FROM reviews
Das ist das Ergebnis, das du erhalten wirst:

Anders als die Funktion CEIL rundet FLOOR jeden Dezimalwert auf die nächste ganze Zahl ab. Sieh dir zum Beispiel das hier an.
Wenn du FLOOR auf die vorherige Tabelle reviews anwendest, kannst du die Abfrage folgendermaßen erstellen:
Select FLOOR(user_score)
FROM reviews
Das ist das Ergebnis, das du erhalten wirst:

Rundung auf bestimmte Intervalle
Manchmal musst du Zahlen auf bestimmte Intervalle wie die nächsten 5, 10 oder 100 runden. Dazu solltest du ROUND mit Division und Multiplikation kombinieren.
Nehmen wir an, du musst eine Zahl oder Spalte auf die nächste 10 runden und machst dazu die folgende Abfrage:
SELECT Round(number / 10) * 10
FROM table_name
Diese Technik hilft bei Herausforderungen in der Bestandsverwaltung oder bei statistischen Analysen, bei denen Daten, die in bestimmten Intervallen gruppiert sind, mehr Sinn machen.
Ähnliche Funktionen wie SQL ROUND
Neben ROUND gibt es in SQL noch einige andere Funktionen, um Zahlen zu runden und abzuschneiden.
CEIL Funktion
Die Funktion CEILING oder CEIL rundet eine Zahl auf die nächste Ganzzahl oder die angegebene Genauigkeit auf. CEILING rundet immer auf, im Gegensatz zu ROUND, das auf den nächsten Wert aufrundet.
Zum Beispiel: CEILING(2.3) liefert 3.
Diese Funktion ist besonders hilfreich, wenn du sicherstellen musst, dass der gerundete Wert nicht kleiner ist als die ursprüngliche Zahl.
FLOOR Funktion
Die Funktion FLOOR rundet eine Zahl auf die nächste Ganzzahl oder die angegebene Genauigkeit ab.
Zum Beispiel: FLOOR(2.7) liefert 2.
Diese Funktion stellt sicher, dass die gerundete Zahl nicht größer ist als das Original.
TRUNC Funktion
Die Funktion TRUNC (truncate) entfernt den Dezimalteil einer Zahl und rundet auf Null ab.
Zum Beispiel: TRUNC(2.9) gibt 2 zurück, und TRUNC(-2.9) gibt -2 zurück.
TRUNC entfernt den Bruchteil einer Zahl, ohne sie notwendigerweise zu runden.
Vereinfacht ausgedrückt, hat jede Funktion - SCHLIESSEN, FLOOR und TRUNC - einen bestimmten Zweck bei der Datenmanipulation und ergänzt die Funktion ROUND.
Mit diesen Funktionen kannst du eine Vielzahl von Rundungsszenarien mit größerer Präzision und Angemessenheit für den jeweiligen Datenkontext handhaben. Wenn du mehr ähnliche SQL-Techniken lernen willst, schau dir den Spickzettel an und fang an zu üben.
Fazit
Es ist sehr wichtig, dass deine Daten stimmen, und die Funktion SQL ROUND ist eine gute Möglichkeit, um sicherzustellen, dass deine Zahlen einfach zu verarbeiten sind. Sie hilft dir, deine Zahlen auf die nächste Dezimalstelle zu runden und deine Daten leichter verständlich zu machen.
Wenn du deine Zahlen auf eine bestimmte Weise runden musst, stehen dir andere Funktionen wie CEIL, FLOOR und TRUNC zur Verfügung.
Egal, ob du als Junior Data Practitioner anfängst oder deine Fähigkeiten aufpolieren willst, Kurse wie SQL Fundamentals und Intermediate SQL werden dir dabei helfen.
Jetzt ist es an der Zeit, dies in die Praxis umzusetzen. Viel Glück!
Lass dich für deine Traumrolle als Datenanalyst zertifizieren
Unsere Zertifizierungsprogramme helfen dir, dich von anderen abzuheben und potenziellen Arbeitgebern zu beweisen, dass deine Fähigkeiten für den Job geeignet sind.

Ich bin ein Inhaltsstratege, der es liebt, komplexe Themen zu vereinfachen. Ich habe Unternehmen wie Splunk, Hackernoon und Tiiny Host geholfen, ansprechende und informative Inhalte für ihr Publikum zu erstellen.
