ПочатиПочніть безкоштовно

Перетворення типів за допомогою розділу 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'.
  • Додайте іншу умову case, яка встановлює значення 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;
Редагувати та запускати код