Převod datového typu pomocí klauzule CASE
Jedním z atributů záznamu parking_violation je poloha vozidla vzhledem k adrese, na níž bylo zaznamenáno přestupku. Hodnota 'F' ve sloupci violation_in_front_of_or_opposite označuje, že vozidlo stálo přímo před danou adresou. Hodnota 'O' znamená, že vozidlo bylo na protější straně ulice. Sloupec k reprezentaci hodnot používá typ TEXT. Stejnou informaci lze vyjádřit pomocí hodnoty BOOLEAN (true/false), která zabírá méně paměti.
V tomto cvičení převedeš sloupec violation_in_front_of_or_opposite na sloupec typu BOOLEAN s názvem is_violation_in_front pomocí klauzule CASE. Tento sloupec bude mít hodnotu true u záznamů, kde vozidlo stálo před danou adresou, a hodnotu false u záznamů, kde bylo na protější straně ulice.
Toto cvičení je součástí kurzu
Cleaning Data in PostgreSQL Databases
Pokyny k cvičení
- Přidej jednu podmínku, která nastaví hodnotu
is_violation_in_frontnatrue, pokud se hodnotaviolation_in_front_of_or_oppositev daném záznamu rovná'F'. - Přidej další podmínku, která nastaví hodnotu
is_violation_in_frontnafalse, pokud se hodnotaviolation_in_front_of_or_oppositev daném záznamu rovná'O'.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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;