Aan de slagGa gratis aan de slag

Typeconversie met een CASE-clausule

Een van de parking_violation-attributen per record is de locatie van het voertuig ten opzichte van het adres van de overtreding. Een waarde 'F' in de kolom violation_in_front_of_or_opposite geeft aan dat het voertuig vóór het geregistreerde adres stond. Een waarde 'O' geeft aan dat het voertuig aan de overkant van de straat stond. De kolom gebruikt het type TEXT om de kolomwaarden weer te geven. Dezelfde informatie kan ook worden vastgelegd met een BOOLEAN-waarde (true/false), wat minder geheugen gebruikt.

In deze oefening zet je violation_in_front_of_or_opposite om naar een BOOLEAN-kolom met de naam is_violation_in_front met behulp van een CASE-clausule. Deze kolom is true voor records die vóór het geregistreerde adres plaatsvinden en false voor records die aan de overkant van het geregistreerde adres plaatsvinden.

Deze oefening maakt deel uit van de cursus

Data opschonen in PostgreSQL-databases

Cursus bekijken

Oefeninstructies

  • Voeg een case-voorwaarde toe die de waarde van is_violation_in_front op true zet wanneer de waarde van violation_in_front_of_or_opposite gelijk is aan 'F' voor het record.
  • Voeg een andere case-voorwaarde toe die de waarde van is_violation_in_front op false zet wanneer de waarde van violation_in_front_of_or_opposite gelijk is aan 'O' voor het record.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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 bewerken en uitvoeren