Typkonvertering med en CASE-sats
Ett av attributen i parking_violation är fordonets position i förhållande till gatuadressen där överträdelsen registrerades. Värdet 'F' i kolumnen violation_in_front_of_or_opposite anger att fordonet stod framför den registrerade adressen, medan värdet 'O' anger att fordonet stod på motsatt sida av gatan. Kolumnen använder typen TEXT för att representera dessa värden. Samma information kan lagras mer minneseffektivt med ett BOOLEAN-värde (true/false).
I den här övningen ska du konvertera violation_in_front_of_or_opposite till en BOOLEAN-kolumn med namnet is_violation_in_front med hjälp av en CASE-sats. Kolumnen ska ha värdet true för poster där överträdelsen skedde framför den registrerade adressen, och false för poster där den skedde på motsatt sida.
Den här övningen är en del av kursen
Datarensning i PostgreSQL-databaser
Övningsinstruktioner
- Lägg till ett case-villkor som sätter värdet för
is_violation_in_fronttilltruenärviolation_in_front_of_or_oppositeär lika med'F'för posten. - Lägg till ytterligare ett case-villkor som sätter värdet för
is_violation_in_fronttillfalsenärviolation_in_front_of_or_oppositeär lika med'O'för posten.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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;