Класифікація порушень паркування за часом доби
З'явилися побоювання, що постанови про порушення правил паркування протягом дня виписують нерівномірно. Вам доручили пов'язати порушення паркування з часом їх виписування. Ви визначили, що найпростіше виконати це, створивши новий стовпець morning. Це поле заповнюватиметься цілим числом 1, якщо постанову виписано вранці (між 12:00 AM та 11:59 AM), і цілим числом 0 — в іншому разі. Час виписування зафіксовано у стовпці violation_time таблиці parking_violation. Цей стовпець містить 4 цифри, після яких іде літера A (для AM) або P (для PM).
У цій вправі ви заповните стовпець morning, зіставляючи шаблони для значень violation_time, що припадають на ранок.
Ця вправа є частиною курсу
Очищення даних у базах даних PostgreSQL
Інструкції до вправи
- Використайте регулярний вираз
'\d\d\d\dA'у підзапиті, щоб знайти значенняviolation_time, що складаються з 4 послідовних цифр (\d), після яких стоїть велика літераA. - Відредагуйте конструкцію
CASE, щоб заповнювати стовпецьmorningзначенням1(ціле число без лапок), коли регулярний вираз збігається. - Відредагуйте конструкцію
CASE, щоб заповнювати стовпецьmorningзначенням0(ціле число без лапок), коли регулярний вираз не збігається.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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;