LoslegenKostenlos starten

Typumwandlung mit einer CASE-Klausel

Eines der Attribute von parking_violation, das für jeden Datensatz enthalten ist, beschreibt die Position des Fahrzeugs in Bezug auf die Hausadresse des Verstoßes. Ein 'F'-Wert in der Spalte violation_in_front_of_or_opposite zeigt an, dass sich das Fahrzeug vor der erfassten Adresse befand. Ein 'O'-Wert zeigt an, dass sich das Fahrzeug auf der gegenüberliegenden Straßenseite befand. Die Spalte verwendet den Typ TEXT, um die Werte darzustellen. Dieselbe Information ließe sich auch mit einem BOOLEAN-Wert (true/false) abbilden, der weniger Speicher benötigt.

In dieser Übung wandelst du violation_in_front_of_or_opposite mithilfe einer CASE-Klausel in eine BOOLEAN-Spalte namens is_violation_in_front um. Diese Spalte ist true für Datensätze, die vor der erfassten Adresse auftreten, und false für Datensätze, die gegenüber der erfassten Adresse auftreten.

Diese Übung ist Teil des Kurses

<Kurs>Datenbereinigung in PostgreSQL-Datenbanken</Kurs>
Kurs ansehen

Übungsanweisungen

  • Füge eine CASE-Bedingung hinzu, die den Wert von is_violation_in_front auf true setzt, wenn der Wert von violation_in_front_of_or_opposite für den Datensatz gleich 'F' ist.
  • Füge eine weitere CASE-Bedingung hinzu, die den Wert von is_violation_in_front auf false setzt, wenn der Wert von violation_in_front_of_or_opposite für den Datensatz gleich 'O' ist.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

SELECT
  CASE WHEN
          -- Use true when column value is 'F'
          ___ = ___ THEN ___
       WHEN
          -- Use false when column value is 'O'
          ___ = ___ THEN ___
       ELSE
          NULL
  END AS ___
FROM
  parking_violation;
Code bearbeiten und ausführen