Conversia tipurilor cu o clauză CASE
Unul dintre atributele înregistrate în parking_violation este poziția vehiculului față de adresa stradală a contravenției. Valoarea 'F' din coloana violation_in_front_of_or_opposite indică faptul că vehiculul se afla în fața adresei înregistrate. Valoarea 'O' indică faptul că vehiculul se afla pe partea opusă a străzii. Coloana folosește tipul TEXT pentru a reprezenta aceste valori. Aceeași informație poate fi stocată mai eficient folosind tipul BOOLEAN (true/false), care ocupă mai puțină memorie.
În acest exercițiu, vei converti coloana violation_in_front_of_or_opposite într-o coloană de tip BOOLEAN numită is_violation_in_front, folosind o clauză CASE. Coloana va fi true pentru înregistrările în care vehiculul se afla în fața adresei și false pentru cele în care se afla pe partea opusă.
Acest exercițiu face parte din cursul
Curățarea datelor în baze de date PostgreSQL
Instrucțiuni pentru exercițiu
- Adaugă o condiție
CASEcare setează valoarea coloaneiis_violation_in_frontlatrueatunci când valoarea dinviolation_in_front_of_or_oppositeeste egală cu'F'. - Adaugă o altă condiție
CASEcare setează valoarea coloaneiis_violation_in_frontlafalseatunci când valoarea dinviolation_in_front_of_or_oppositeeste egală cu'O'.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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;