CommencezCommencez gratuitement

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

Certaines personnes s'inquiètent que les contraventions de stationnement ne soient pas émises de façon uniforme tout au long de la journée. On vous a confié la tâche d'associer chaque contravention au moment de la journée où elle a été émise. Vous décidez que l'approche la plus simple consiste à créer une nouvelle colonne nommée morning. Ce champ prendra la valeur (entier) 1 si la contravention a été émise le matin (entre 12:00 AM et 11:59 AM) et la valeur (entier) 0 dans les autres cas. L'heure d'émission est consigné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 remplir la colonne morning en faisant correspondre les motifs des violation_time qui surviennent le matin.

Cette activité fait partie du cours

Nettoyer des données dans des bases de données PostgreSQL

Voir le cours

Instructions de l’exercice

  • Utilisez le motif d'expression régulière '\d\d\d\dA' dans la sous-requête pour repérer les valeurs de violation_time composées de 4 chiffres consécutifs (\d) suivis d'un A majuscule.
  • Modifiez la clause CASE pour remplir la colonne morning avec 1 (entier sans guillemets) lorsque l'expression régulière correspond.
  • Modifiez la clause CASE pour remplir 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 ce code d’exemple.

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