Kom igångKom igång gratis

Klassificera parkeringsöverträdelser efter tid på dygnet

Det har framförts farhågor om att parkeringsböter inte utfärdas jämnt fördelade över dygnet. Du har fått i uppgift att koppla parkeringsöverträdelser till den tid på dygnet då de utfärdades. Du bedömer att det enklaste tillvägagångssättet är att skapa en ny kolumn med namnet morning. Det här fältet fylls med heltalet 1 om överträdelsen utfärdades på förmiddagen (mellan 00:00 och 11:59), och med heltalet 0 annars. Tidpunkten för utfärdandet registreras i kolumnen violation_time i tabellen parking_violation. Kolumnen består av 4 siffror följda av ett A (för AM) eller P (för PM).

I den här övningen fyller du i kolumnen morning genom att matcha mönster för violation_time-värden som inträffar på förmiddagen.

Den här övningen är en del av kursen

Datarensning i PostgreSQL-databaser

Visa kurs

Övningsinstruktioner

  • Använd det reguljära uttryckets mönster '\d\d\d\dA' i underfrågan för att matcha violation_time-värden som består av 4 på varandra följande siffror (\d) följda av ett versalt A.
  • Redigera CASE-satsen så att kolumnen morning fylls med 1 (heltal utan citattecken) när det reguljära uttrycket matchas.
  • Redigera CASE-satsen så att kolumnen morning fylls med 0 (heltal utan citattecken) när det reguljära uttrycket inte matchas.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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;
Redigera och kör kod