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
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 deviolation_timecomposées de 4 chiffres consécutifs (\d) suivis d'unAmajuscule. - Modifiez la clause
CASEpour remplir la colonnemorningavec1(entier sans guillemets) lorsque l'expression régulière correspond. - Modifiez la clause
CASEpour remplir la colonnemorningavec0(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;