Začněte nyníZačněte zdarma

Klasifikace parkovacích přestupků podle denní doby

Objevily se obavy, že parkovací přestupky nejsou vystavovány rovnoměrně v průběhu celého dne. Tvým úkolem je přiřadit každý přestupek k denní době jeho vystavení. Rozhodneš se, že nejjednodušším řešením bude vytvořit nový sloupec morning. Tento sloupec bude obsahovat (celé číslo) 1, pokud byl přestupek vystavený dopoledne (mezi 0:00 a 11:59), nebo (celé číslo) 0 v ostatních případech. Čas vystavení je uložen ve sloupci violation_time tabulky parking_violation. Tento sloupec obsahuje 4 číslice následované písmenem A (pro AM) nebo P (pro PM).

V tomto cvičení naplníš sloupec morning tak, že budeš hledat vzory odpovídající dopoledním hodnotám violation_time.

Toto cvičení je součástí kurzu

Cleaning Data in PostgreSQL Databases

Zobrazit kurz

Pokyny k cvičení

  • V poddotazu použij vzor regulárního výrazu '\d\d\d\dA' pro vyhledání hodnot violation_time tvořených 4 po sobě jdoucími číslicemi (\d) následovanými velkým písmenem A.
  • Uprav klauzuli CASE tak, aby se do sloupce morning zapsala hodnota 1 (celé číslo bez uvozovek) v případě shody s regulárním výrazem.
  • Uprav klauzuli CASE tak, aby se do sloupce morning zapsala hodnota 0 (celé číslo bez uvozovek) v případě, že regulární výraz nenajde shodu.

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 
	summons_number, 
    CASE WHEN 
    	summons_number IN (
          SELECT 
  			summons_number 
  		  FROM 
  			parking_violation 
  		  WHERE 
            -- Match violation_time for morning values
  			___ SIMILAR TO ___
    	)
        -- Value when pattern matched
        THEN ___ 
        -- Value when pattern not matched
        ELSE ___ 
    END AS morning 
FROM 
	parking_violation;
Upravit a spustit kód