Zacznij terazZacznij za darmo

Klasyfikowanie naruszeń zasad parkowania według pory dnia

Pojawiły się obawy, że mandaty za nieprawidłowe parkowanie nie są wystawiane równomiernie w ciągu dnia. Zostało ci powierzone zadanie powiązania każdego naruszenia z porą dnia, w której wystawiono mandat. Uznasz, że najprostszym rozwiązaniem jest utworzenie nowej kolumny o nazwie morning. Kolumna ta będzie przyjmować wartość (całkowitą) 1, jeśli mandat wystawiono rano (między 00:00 a 11:59), lub wartość (całkowitą) 0 w pozostałych przypadkach. Godzina wystawienia mandatu jest zapisana w kolumnie violation_time tabeli parking_violation. Kolumna ta składa się z 4 cyfr, po których następuje litera A (dla AM) lub P (dla PM).

W tym ćwiczeniu wypełnisz kolumnę morning, dopasowując wzorce dla wartości violation_time odpowiadających porannym godzinom.

To ćwiczenie jest częścią kursu

Czyszczenie danych w bazach PostgreSQL

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj wzorca wyrażenia regularnego '\d\d\d\dA' w podzapytaniu, aby dopasować wartości violation_time składające się z 4 kolejnych cyfr (\d) po których następuje wielka litera A.
  • Zmodyfikuj klauzulę CASE, aby kolumna morning przyjmowała wartość 1 (liczba całkowita bez cudzysłowów), gdy wyrażenie regularne zostanie dopasowane.
  • Zmodyfikuj klauzulę CASE, aby kolumna morning przyjmowała wartość 0 (liczba całkowita bez cudzysłowów), gdy wyrażenie regularne nie zostanie dopasowane.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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;
Edytuj i uruchom kod