ÎncepețiÎncepe gratuit

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

Vezi cursul

Instrucțiuni pentru exercițiu

  • Adaugă o condiție CASE care setează valoarea coloanei is_violation_in_front la true atunci când valoarea din violation_in_front_of_or_opposite este egală cu 'F'.
  • Adaugă o altă condiție CASE care setează valoarea coloanei is_violation_in_front la false atunci când valoarea din violation_in_front_of_or_opposite este 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;
Editează și rulează codul