Classificare le infrazioni di sosta per fascia oraria
Sono state sollevate alcune preoccupazioni sul fatto che le infrazioni di sosta non vengano emesse in modo uniforme durante la giornata. Ti è stato chiesto di associare le infrazioni di sosta alla fascia oraria di emissione. Ritieni che l'approccio più semplice per completare questo compito sia creare una nuova colonna chiamata morning. Questo campo verrà popolato con (l'intero) 1 se l'infrazione è stata emessa al mattino (tra le 12:00 AM e le 11:59 AM) e con (l'intero) 0 in caso contrario. L'ora di emissione è registrata nella colonna violation_time della tabella parking_violation. Questa colonna è composta da 4 cifre seguite da una A (per AM) o una P (per PM).
In questo esercizio, popolerai la colonna morning abbinando i pattern dei violation_time che si verificano al mattino.
Questo esercizio fa parte del corso
Pulizia dei dati nei database PostgreSQL
Istruzioni dell'esercizio
- Usa il pattern di espressione regolare
'\d\d\d\dA'nella sottoquery per fare matching dei valori diviolation_timecomposti da 4 cifre consecutive (\d) seguite da unaAmaiuscola. - Modifica la clausola
CASEper popolare la colonnamorningcon1(intero senza virgolette) quando l'espressione regolare corrisponde. - Modifica la clausola
CASEper popolare la colonnamorningcon0(intero senza virgolette) quando l'espressione regolare non corrisponde.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
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;