CodeGym /Kurse /SQL SELF /Datenformatierung

Datenformatierung

SQL SELF
Level 5 , Lektion 0
Verfügbar

Lass uns mit einer banalen, aber lebenswichtigen Wahrheit starten: Daten sind oft einfach "roh". Ein ungeordneter Strom aus Zahlen, Daten oder Strings ist schwer zu verstehen. Stell dir einen Report vor, in dem Daten in verschiedenen Formaten stehen: mal 01/02/2023, mal 2023-02-01. Das kann sogar die aufmerksamsten Analysten verwirren. Genau hier kommt die Magie der Datenformatierung ins Spiel.

Datenformatierung ermöglicht dir:

  • Daten in eine angenehme und verständliche Form zu bringen, was die Arbeit damit viel einfacher macht.
  • Zum Lifehacker in Sachen Datenanalyse zu werden, indem du schnell die Infos rausziehst, die du brauchst.
  • Daten für den Export oder die Integration mit anderen Systemen vorzubereiten.
  • Reports und Visualisierungen lesbar und korrekt zu machen.

Stell dir vor, du arbeitest an einer Uni und musst einen Report bauen, der alle Studierenden mit vollem Namen, Geburtsdatum und Fakultät auflistet. Anstatt die Daten manuell zusammenzukleben, nutzt du einen Query mit Formatierung, der Vor- und Nachname in einer Spalte zusammenfügt und das Geburtsdatum schön lesbar macht, zum Beispiel 12 März 2001.

Die Hauptaufgaben der Datenformatierung

Datenformatierung ist wie Obstsalat schneiden. Du wirfst nicht einfach alles in eine Schüssel, sondern schneidest und arrangierst alles schön auf dem Teller. In SQL teilt sich diese Arbeit in verschiedene Aufgaben auf:

String-Formatierung

Das kann das Zusammenfügen von Strings sein, das Ändern der Groß-/Kleinschreibung (alles groß oder alles klein), das Hinzufügen oder Entfernen von Leerzeichen und Zeichen.

Zahlen formatieren

Manchmal ist es praktisch, Zahlen in Strings umzuwandeln oder sie auf eine bestimmte Anzahl Nachkommastellen zu runden.

Mit Daten und Zeit arbeiten

Hier kannst du Aufgaben wie das Holen des aktuellen Datums, das Formatieren von Zeitdaten oder das Extrahieren bestimmter Teile eines Datums (zum Beispiel nur das Jahr oder nur den Monat) automatisieren.

Einzigartige Werte extrahieren

Wenn dein Report nur einzigartige Einträge zeigen soll (zum Beispiel einzigartige Städte oder Fakultäten), dann gehört das auch zur Datenformatierung.

Tools zum Formatieren in PostgreSQL

PostgreSQL bietet dir jede Menge eingebaute Funktionen für die Arbeit mit Daten. Hier ein kleiner Vorgeschmack auf das, was wir in den nächsten Vorlesungen genauer anschauen:

String-Formatierung

  • CONCAT(): Strings zusammenfügen.
  • UPPER(), LOWER(): Groß-/Kleinschreibung ändern.

Datum und Zeit formatieren

  • NOW(): aktuelles Datum und Uhrzeit.
  • CURRENT_DATE: aktuelles Datum (ohne Uhrzeit).
  • DATE_PART(): Teile eines Datums extrahieren, z.B. Jahr oder Monat.

Typumwandlung

  • CAST(): Datentyp ändern.
  • Syntax: <wert>::<typ>.

Daten sortieren

  • ORDER BY: Daten nach einer oder mehreren Spalten sortieren.
  • DISTINCT: Einzigartige Werte extrahieren.

Beispiel für Datenformatierung: Wie sieht das in der Praxis aus?

Um dich zu motivieren, schauen wir uns ein paar Beispiele an. Wir starten ganz easy.

Beispiel 1: String-Formatierung

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

Dieser Query fügt first_name und last_name zu einer Spalte full_name zusammen. Wenn der Name des Studenten zum Beispiel "Otto" und der Nachname "Art" ist, kommt raus: "Otto Art".

Beispiel 2: Datum formatieren

SELECT DATE_PART('year', date_of_birth) AS birth_year
FROM students;

Hier holen wir uns nur das Geburtsjahr aus der Spalte date_of_birth. Wenn das Geburtsdatum in der Datenbank 2001-03-15 ist, kommt als Ergebnis 2001.

Beispiel 3: Typumwandlung

SELECT birth_year::text || ' jahr' AS formatted_year
FROM (
  SELECT DATE_PART('year', date_of_birth) AS birth_year
  FROM students
) subquery;

In diesem Query holen wir uns zuerst das Geburtsjahr, dann wandeln wir es in einen String um und hängen den String " jahr" dran. Zum Beispiel: 2001 jahr.

Wo wird das benutzt?

Reports für Manager

Niemand will "rohe" Daten sehen. Zum Beispiel sollte man im Umsatzreport die Summen mit Tausendertrennzeichen angeben (1,000,000 statt 1000000), und Daten im Format 21 FEB 2025.

Reports für Kunden

Zum Beispiel eine Mail an den Kunden mit dem Text: "Lieber [Vorname Nachname], deine Bestellung N123 wurde am 12 Oktober 2023 erfolgreich geliefert".

Integration mit anderen Systemen

Manche Eingabeformulare verlangen ein bestimmtes Datenformat: Daten im ISO-Format, Strings mit richtiger Groß-/Kleinschreibung, Zahlen gerundet.

Analytics und Visualisierung

Stell dir vor, du baust Charts oder Diagramme. Ohne Formatierung sehen die Charts oft ziemlich komisch aus.

Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION