Clasificarea încălcărilor de parcare în funcție de ora din zi
Au apărut îngrijorări cu privire la faptul că amenzile de parcare nu sunt emise uniform pe parcursul zilei. Sarcina ta este să asociezi fiecare încălcare cu momentul din zi în care a fost emisă. Cea mai simplă abordare este să creezi o nouă coloană numită morning. Această coloană va fi populată cu valoarea (întreagă) 1 dacă încălcarea a fost emisă dimineața (între 00:00 și 11:59), respectiv cu (întregul) 0 în caz contrar. Ora emiterii este înregistrată în coloana violation_time din tabelul parking_violation. Această coloană conține 4 cifre urmate de litera A (pentru AM) sau P (pentru PM).
În acest exercițiu, vei popula coloana morning prin potrivirea tiparelor pentru valorile violation_time care corespund intervalului dimineții.
Acest exercițiu face parte din cursul
Curățarea datelor în baze de date PostgreSQL
Instrucțiuni pentru exercițiu
- Folosește tiparul expresiei regulate
'\d\d\d\dA'în sub-interogare pentru a identifica valorileviolation_timeformate din 4 cifre consecutive (\d) urmate de literaAmajusculă. - Editează clauza
CASEpentru a popula coloanamorningcu1(număr întreg, fără ghilimele) când expresia regulată se potrivește. - Editează clauza
CASEpentru a popula coloanamorningcu0(număr întreg, fără ghilimele) când expresia regulată nu se potrivește.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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;