Aan de slagGa gratis aan de slag

Parkeerovertredingen indelen op tijdstip van de dag

Er zijn zorgen geuit dat parkeerovertredingen niet gelijkmatig over de dag worden uitgeschreven. Jij hebt de taak gekregen om parkeerovertredingen te koppelen aan het tijdstip van uitschrijven. Je bepaalt dat de eenvoudigste aanpak is om een nieuwe kolom morning te maken. Dit veld krijgt (het geheel getal) 1 als de overtreding in de ochtend is uitgeschreven (tussen 12:00 AM en 11:59 AM), en (het geheel getal) 0 in alle andere gevallen. Het tijdstip van uitschrijven staat in de kolom violation_time van de tabel parking_violation. Deze kolom bestaat uit 4 cijfers gevolgd door een A (voor AM) of P (voor PM).

In deze oefening vul je de kolom morning door patronen te matchen voor violation_time-waarden die in de ochtend voorkomen.

Deze oefening maakt deel uit van de cursus

Data opschonen in PostgreSQL-databases

Cursus bekijken

Oefeninstructies

  • Gebruik het reguliere-expressiepatroon '\d\d\d\dA' in de subquery om violation_time-waarden te matchen die bestaan uit 4 opeenvolgende cijfers (\d) gevolgd door een hoofdletter A.
  • Pas de CASE-clausule aan om de kolom morning te vullen met 1 (geheel getal zonder aanhalingstekens) wanneer de reguliere expressie overeenkomt.
  • Pas de CASE-clausule aan om de kolom morning te vullen met 0 (geheel getal zonder aanhalingstekens) wanneer de reguliere expressie niet overeenkomt.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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;
Code bewerken en uitvoeren