НачатьНачать бесплатно

Классификация нарушений правил парковки по времени суток

Поступили жалобы на то, что штрафы за нарушение правил парковки выписываются неравномерно в течение дня. Вам поручено связать каждое нарушение со временем его фиксации. Вы решаете создать новый столбец morning — это наиболее простой способ решить задачу. Столбец будет содержать целое число 1, если нарушение зафиксировано в первой половине дня (с 00:00 до 11:59), и целое число 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;
Редактировать и запускать код