Wenn du mit Daten arbeitest, kennst du wahrscheinlich das Problem: Rohdaten enthalten oft Fehler, Inkonsistenzen oder unnötige Werte. Bevor du damit Analysen oder Modelle baust, ist eine saubere Datenbasis essenziell – und genau hier kommt die Datenbereinigung in SQL ins Spiel.
Warum Datenbereinigung so wichtig ist
- Schlechte Daten führen zu falschen Ergebnissen oder verzerrten Analysen
- Viele Tools erfordern konsistente Formate (Datum, Text, Zahlen)
- Automatisierte Prozesse wie ETL oder Reporting vertragen keine Ausreißer oder fehlerhaften Werte
Typische Schritte und Techniken zur Datenbereinigung
1. Duplikate entfernen
Oft sind Einträge mehrfach vorhanden. Mit DISTINCT
oder einer ROW_NUMBER()
-Logik kannst du Duplikate identifizieren und eliminieren.
Beispiel:
WITH nummeriert AS (
SELECT *,
ROW_NUMBER() OVER (PARTITION BY SpalteA, SpalteB ORDER BY id) AS rn
FROM meine_tabelle
)
DELETE FROM nummeriert WHERE rn > 1;
2. Nullwerte behandeln
Nullwerte sollten nicht einfach ignoriert werden. Du kannst sie ersetzen (z. B. mit Standardwerten) oder herausfiltern:
UPDATE meine_tabelle
SET Spalte = 'Unbekannt'
WHERE Spalte IS NULL;
Oder in Abfragen:
SELECT COALESCE(Spalte, 'Unbekannt') AS SauberSpalte
FROM meine_tabelle;
3. Trimmen & Whitespace entfernen
Manchmal enthalten Textfelder führende oder nachfolgende Leerzeichen:
UPDATE meine_tabelle
SET Spalte = TRIM(Spalte);
Das reduziert Fehler bei Vergleichen und JOINs.
4. Format-Umwandlungen (Strings, Zahlen, Datum)
Wenn Daten als Strings gespeichert sind, musst du sie in korrekte Typen umwandeln:
-- Wenn ein Datum als String vorliegt:
UPDATE meine_tabelle
SET datum = TO_DATE(datum_str, 'YYYYMMDD');
-- Wenn eine Zahl als Text:
UPDATE meine_tabelle
SET zahl = CAST(zahl_str AS INTEGER);
5. Ungültige oder fehlerhafte Werte filtern
Einige Werte sind offensichtlich „falsch“ (z. B. negatives Alter, Datumswerte in der Zukunft). Verwende Bedingungen, um solche Fälle zu identifizieren:
SELECT *
FROM meine_tabelle
WHERE alter < 0 OR geburtsdatum > CURRENT_DATE;
Best Practices & Tipps für effektive Datenbereinigung
- Führe Bereinigungsschritte in logischer Reihenfolge durch (Duplikate → Nullwerte → Formatierung).
- Teste stets erst in einer Kopie der Tabelle oder in einer temporären Tabelle.
- Halte Bereinigungslogik reproduzierbar (z. B. in Stored Procedures oder Skripten).
- Verwende Transaktionen, damit du bei Fehlern zurückrollen kannst.
- Dokumentiere, was geändert wurde – welche Regeln angewandt wurden und warum.
Interne Verlinkungen zu verwandten Themen auf datenanalyst.com
- 🔗 SQL-Unterabfragen – oft ergänzen sich Subqueries & Datenbereinigung
- 🔗 SQL Joins verstehen – wichtig, wenn du saubere Tabellen verbinden möchtest
- 🔗 Excel Tipps & Datenvorbereitung – auch in Excel ist Datenbereinigung ein Schlüssel