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

Преобразование типов с помощью выражения CASE

Одним из атрибутов записи parking_violation является расположение транспортного средства относительно адреса, по которому зафиксировано нарушение. Значение 'F' в столбце violation_in_front_of_or_opposite означает, что автомобиль находился перед указанным адресом, а значение 'O' — что на противоположной стороне улицы. Для хранения этих значений используется тип TEXT. Ту же информацию можно представить с помощью типа BOOLEAN (true/false), который занимает меньше памяти.

В этом упражнении вы преобразуете столбец violation_in_front_of_or_opposite в столбец типа BOOLEAN с именем is_violation_in_front, используя выражение CASE. Столбец принимает значение true для записей, в которых нарушение зафиксировано перед указанным адресом, и false — для записей, где транспортное средство находилось на противоположной стороне улицы.

Это упражнение является частью курса

Очистка данных в базах данных PostgreSQL

Посмотреть курс

Инструкции к упражнению

  • Добавьте одно условие в выражение CASE, которое присваивает столбцу is_violation_in_front значение true, если violation_in_front_of_or_opposite равно 'F'.
  • Добавьте ещё одно условие, которое присваивает столбцу is_violation_in_front значение false, если violation_in_front_of_or_opposite равно 'O'.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

SELECT
  CASE WHEN
          -- Use true when column value is 'F'
          ___ = ___ THEN ___
       WHEN
          -- Use false when column value is 'O'
          ___ = ___ THEN ___
       ELSE
          NULL
  END AS ___
FROM
  parking_violation;
Редактировать и запускать код