CommencerCommencer gratuitement

Classer les infractions de stationnement selon le moment de la journée

Certaines inquiétudes ont été soulevées quant au fait que les PV de stationnement ne seraient pas délivrés de manière uniforme tout au long de la journée. Votre mission est d’associer chaque infraction à l’heure de délivrance. Vous décidez que la façon la plus simple de procéder est de créer une nouvelle colonne appelée morning. Ce champ prendra la valeur (entier) 1 si l’infraction a été dressée le matin (entre 12:00 AM et 11:59 AM) et la valeur (entier) 0 sinon. L’heure de délivrance est enregistrée dans la colonne violation_time de la table parking_violation. Cette colonne contient 4 chiffres suivis d’un A (pour AM) ou d’un P (pour PM).

Dans cet exercice, vous allez renseigner la colonne morning en faisant correspondre les motifs des violation_time qui se produisent le matin.

Cet exercice fait partie du cours

Nettoyer des données dans des bases PostgreSQL

Afficher le cours

Instructions

  • Utilisez le motif d’expression régulière '\d\d\d\dA' dans la sous-requête pour faire correspondre les valeurs de violation_time composées de 4 chiffres consécutifs (\d) suivis d’un A majuscule.
  • Modifiez la clause CASE pour renseigner la colonne morning avec 1 (entier sans guillemets) lorsque l’expression régulière correspond.
  • Modifiez la clause CASE pour renseigner la colonne morning avec 0 (entier sans guillemets) lorsque l’expression régulière ne correspond pas.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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;
Modifier et exécuter le code