CodeGym /Kurse /SQL SELF /Beispiele für Datenformatierung in echten Aufgaben

Beispiele für Datenformatierung in echten Aufgaben

SQL SELF
Level 5 , Lektion 4
Verfügbar

Einer der beliebtesten Anwendungsfälle für Datenbanken ist die Vorbereitung von Daten für Berichte. Stell dir vor: Du arbeitest an einer Uni und dein Chef (der natürlich null Ahnung von SQL hat) bittet dich, eine Liste von Studierenden zu erstellen, bei der Vor- und Nachname zusammengeführt werden und das Geburtsdatum im Format DD-MM-YYYY angezeigt wird. Die Aufgabe ist klar: Die Daten sollen hübsch aussehen. Und SQL ist dabei unser bester Kumpel.

Beispiel 1: Vor- und Nachname zusammenführen

Starten wir damit, den Vornamen (first_name) und Nachnamen (last_name) der Studierenden aus unserer Tabelle students zu verbinden.

SELECT
    CONCAT(first_name, ' ', last_name) AS full_name
FROM 
    students;

Was passiert hier?

  • CONCAT() verbindet Strings. Wir fügen ein Leerzeichen zwischen Vor- und Nachnamen ein, damit es besser aussieht.
  • Das Ergebnis landet in einer neuen Spalte full_name.

Das Ergebnis könnte so aussehen:

full_name
Otto Art
Anna Song
Pol Mac

Beispiel 2: Datum formatieren

Jetzt fügen wir unserem Query noch die Formatierung des Geburtsdatums hinzu.

SELECT
    CONCAT(first_name, ' ', last_name) AS full_name,
    TO_CHAR(birth_date, 'DD-MM-YYYY') AS formatted_birth_date
FROM 
    students;

Neu hier:

  • Wir wenden die Funktion TO_CHAR() auf das Feld birth_date an.
  • Das Format 'DD-MM-YYYY' macht das Datum schön lesbar (zum Beispiel: 25-12-2001).

Das Ergebnis:

full_name formatted_birth_date
Otto Art 12-04-1995
Anna Song 03-08-1996
Pol Mac 21-11-1997

Voilà! Du hast gerade einen schicken Report gebaut.

Formatierung für Datenexport

Angenommen, einer deiner Kollegen will Bestelldaten als CSV-Datei exportieren, um sie in Excel weiterzuverarbeiten. Aber die Datenbank speichert die Infos in einem für ihn unpraktischen Format und die Leute aus dem Sales wollen es ganz genau so haben. Zum Beispiel möchten sie statt dem Feld total_price, wo der Bestellpreis steht, lieber sowas wie: $100.00 sehen.

Beispiel 3: Zahlen ins Währungsformat bringen

Wir machen die Bestelldaten aus der Tabelle orders exportfertig:

SELECT
    order_id,
    TO_CHAR(total_price, 'FM$999,999.00') AS formatted_price
FROM 
    orders;

Was macht TO_CHAR() hier?

  • FM (Fill Mode) entfernt unnötige Leerzeichen.
  • $ fügt das Währungssymbol hinzu.
  • 999,999.00 sorgt für Tausendertrennzeichen und zwei Nachkommastellen.

Das Ergebnis:

order_id formatted_price
1 $1,000.00
2 $2,500.50
3 $10.00

Jetzt kann dein Kollege die Daten easy in Excel importieren und dich im Meeting loben.

Finale Aufgabe

Jetzt wird’s spannend. Lass uns alles kombinieren, was du schon gelernt hast.

Aufgabe

Schreib ein Query für die Tabelle students, das:

  1. Vor- und Nachname in einer Spalte full_name zusammenführt.
  2. Das Geburtsdatum ins Format DD-MM-YYYY bringt.
  3. Das Alter des Studierenden zum aktuellen Datum anzeigt.

Das Query könnte so aussehen:

SELECT
    CONCAT(first_name, ' ', last_name) AS full_name,
    TO_CHAR(birth_date, 'DD-MM-YYYY') AS formatted_birth_date,
    DATE_PART('year', AGE(birth_date)) AS age
FROM 
    students;

Neue Elemente:

  • AGE(birth_date) gibt das Intervall zwischen aktuellem Datum und Geburtsdatum zurück, aber als Jahre, Monate und Tage.
  • DATE_PART('year', AGE(birth_date)) holt aus diesem Intervall nur die Anzahl der Jahre raus.

Das Ergebnis:

full_name formatted_birth_date age
Otto Art 12-04-1995 28
Anna Song 03-08-1996 27
Pol Mac 21-11-1997 25

So ein Report macht sogar die pingeligsten Kollegen glücklich.

Formatierung für spezielle Bedingungen

Manchmal braucht man Formatierung, um Bedingungen oder Filter zu bauen. Zum Beispiel holen wir uns die Studierenden, die im aktuellen Monat Geburtstag haben.

Beispiel 4: Filtern nach Monat

SELECT
    CONCAT(first_name, ' ', last_name) AS full_name,
    TO_CHAR(birth_date, 'DD-MM-YYYY') AS formatted_birth_date
FROM 
    students
WHERE 
    DATE_PART('month', birth_date) = DATE_PART('month', CURRENT_DATE);

Wie funktioniert das?

  • DATE_PART('month', birth_date) holt den Monat aus dem Geburtsdatum.
  • CURRENT_DATE gibt das aktuelle Datum. Wir holen daraus den Monat mit DATE_PART().

Formatierung und Sortierung kombinieren

Jetzt kombinieren wir alles Gelernte und fügen noch eine Sortierung hinzu. Zum Beispiel erstellen wir eine Liste von Studierenden, sortiert nach ihrem Geburtsdatum.

Beispiel 5: Sortieren nach Geburtsdatum

SELECT
    CONCAT(first_name, ' ', last_name) AS full_name,
    TO_CHAR(birth_date, 'DD-MM-YYYY') AS formatted_birth_date
FROM 
    students
ORDER BY 
    birth_date ASC;

Sortierung aufsteigend (ASC) zeigt zuerst die ältesten Studierenden, absteigend (DESC) die jüngsten.

Kombinieren mit einzigartigen Werten

Zum Schluss – eine Aufgabe mit Sternchen. Stell dir vor, unsere Uni hat Standorte in mehreren Städten und du sollst eine Liste der einzigartigen Städte machen, in denen Studierende lernen, und zwar alphabetisch sortiert.

Beispiel 6: Einzigartige Werte und Sortierung

SELECT DISTINCT
    city 
FROM 
    students
ORDER BY 
    city ASC;

Was macht DISTINCT?

Es entfernt doppelte Werte, sodass jede Stadt nur einmal im Ergebnis steht.

Wozu das Ganze?

Bequemlichkeit und Style. Wenn Daten schön formatiert sind, arbeitet es sich leichter und die Chefs stellen weniger Fragen.

Fit für die echte Welt. Du kannst automatisch Reports generieren, Exporte machen und schicke Präsentationen vorbereiten.

Du wirst wertvoller. SQL ist nicht nur Daten. Es geht darum, sie verständlich und nützlich zu machen.

Nutz die Skills, um nicht nur Queries zu schreiben, sondern echte Meisterwerke zu bauen! In den nächsten Vorlesungen tauchen wir noch tiefer in die Magie von PostgreSQL ein.

2
Aufgabe
SQL SELF, Level 5, Lektion 4
Gesperrt
Spalten zusammenführen und Zeichenfolgen formatieren
Spalten zusammenführen und Zeichenfolgen formatieren
2
Aufgabe
SQL SELF, Level 5, Lektion 4
Gesperrt
Formatierung von Zahlen als Währungsbeträge
Formatierung von Zahlen als Währungsbeträge
1
Umfrage/Quiz
String-Formatierung, Level 5, Lektion 4
Nicht verfügbar
String-Formatierung
String-Formatierung
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION